make-rules/shared-macros.mk
author Girish Moodalbail <Girish.Moodalbail@oracle.COM>
Tue, 02 Jun 2015 12:43:22 -0600
changeset 4389 a44bb9a2917e
parent 4359 93edfb908c2a
child 4439 94148b6e4407
permissions -rw-r--r--
21086485 neutron-l3-agent service should not report online if trace dump happened 21157386 dhcp & metadata agents trace dump due to report state failure
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
#
3701
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
    21
# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    22
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    23
32
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 31
diff changeset
    24
PATH=/usr/bin:/usr/gnu/bin
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 31
diff changeset
    25
313
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    26
# 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
    27
# 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
    28
# 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
    29
# 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
    30
# anywhere else.
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    31
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
    32
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    33
# 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
    34
# 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
    35
EXTERNAL_ARCHIVE_MIRROR = 
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
    36
	
313
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    37
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    38
# 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
    39
# 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
    40
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
    41
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
    42
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
    43
endif
127
3e3c266b3a81 7013705 userland build needs local tarball caching
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 120
diff changeset
    44
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
    45
# 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
    46
# unless someone already supplied the top.
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
    47
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
    48
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
    49
			%/make-rules/shared-macros.mk,$(MAKEFILE_LIST))))))
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
    50
endif
127
3e3c266b3a81 7013705 userland build needs local tarball caching
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 120
diff changeset
    51
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    52
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
    53
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
    54
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
    55
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
    56
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
    57
WS_COMPONENTS =	$(WS_TOP)/components
d8d7345db00f 7104397 Userland should split out package BUILD_VERSION information
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 528
diff changeset
    58
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
    59
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
    60
327
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    61
# 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
    62
# (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
    63
# 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
    64
# 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
    65
# 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
    66
# as dependencies of publish.
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    67
export SHELLOPTS
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    68
build:		SHELLOPTS=
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    69
test:		SHELLOPTS=
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    70
install:	SHELLOPTS=
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    71
publish:	SHELLOPTS=pipefail
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    72
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    73
# 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
    74
MAKEFILE_PREREQ =	Makefile
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    75
1593
b0666dd4d31d 17899000 libtool doesn't build properly in non-C locale
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1528
diff changeset
    76
# 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
    77
# 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
    78
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
    79
177
fd9cb2273c9d 7015392 the build should really fail if the pkg tools fail
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 176
diff changeset
    80
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
    81
3951
44e39665111f 20696590 change Userland publisher name from "userland" to "nightly"
John Beck <John.Beck@Oracle.COM>
parents: 3936
diff changeset
    82
# We want "nightly" as our publisher, to match other consolidations and
44e39665111f 20696590 change Userland publisher name from "userland" to "nightly"
John Beck <John.Beck@Oracle.COM>
parents: 3936
diff changeset
    83
# facilitate migrations.  G11N wants $(CONSOLIDATION)-localizable for
44e39665111f 20696590 change Userland publisher name from "userland" to "nightly"
John Beck <John.Beck@Oracle.COM>
parents: 3936
diff changeset
    84
# the localizable publisher.
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    85
CONSOLIDATION =	userland
3951
44e39665111f 20696590 change Userland publisher name from "userland" to "nightly"
John Beck <John.Beck@Oracle.COM>
parents: 3936
diff changeset
    86
PUBLISHER ?=	nightly
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents: 800
diff changeset
    87
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
    88
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 34
diff changeset
    89
ROOT =			/
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 34
diff changeset
    90
944
457586ba0add 7190084 Userland needs to update its IPS schema for S12
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 943
diff changeset
    91
# Native OS version
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
    92
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
    93
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
    94
# Target OS version
457586ba0add 7190084 Userland needs to update its IPS schema for S12
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 943
diff changeset
    95
PKG_SOLARIS_VERSION ?= 5.12
477
068d10529156 7078102 userland needs Versioning Reform
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 459
diff changeset
    96
538
d8d7345db00f 7104397 Userland should split out package BUILD_VERSION information
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 528
diff changeset
    97
include $(WS_MAKE_RULES)/ips-buildinfo.mk
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 34
diff changeset
    98
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    99
COMPILER ?=		studio
6
20f80c019d73 add compiler date/time chatter reduction tools
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2
diff changeset
   100
BITS =			32
1907
446472de62e9 PSARC 2014/151 Python 3.4
John Beck <John.Beck@Oracle.COM>
parents: 1836
diff changeset
   101
3936
c344422ee38b 20674483 change Userland Python default version from 2.6 to 2.7
John Beck <John.Beck@Oracle.COM>
parents: 3864
diff changeset
   102
# 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
   103
PYTHON_VERSION =	2.7
c344422ee38b 20674483 change Userland Python default version from 2.6 to 2.7
John Beck <John.Beck@Oracle.COM>
parents: 3864
diff changeset
   104
PYTHON2_VERSIONS =	2.6 2.7
1907
446472de62e9 PSARC 2014/151 Python 3.4
John Beck <John.Beck@Oracle.COM>
parents: 1836
diff changeset
   105
PYTHON3_VERSIONS =	3.4
446472de62e9 PSARC 2014/151 Python 3.4
John Beck <John.Beck@Oracle.COM>
parents: 1836
diff changeset
   106
PYTHON_VERSIONS =	$(PYTHON3_VERSIONS) $(PYTHON2_VERSIONS)
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   107
34
d20b10eba317 prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   108
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
   109
94
e2364cad23ff 7019782 move tcsh to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 93
diff changeset
   110
CLONEY =	$(WS_TOOLS)/cloney
e2364cad23ff 7019782 move tcsh to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 93
diff changeset
   111
156
c2445b73a8b2 6949695 Would like to have perl 5.12 (use CONFIG_SHELL)
Craig Mohrman <Craig.Mohrman@oracle.com>
parents: 152
diff changeset
   112
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
   113
34
d20b10eba317 prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   114
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
   115
1053
accc15fa8762 15878378 Auto-generation of Userland gate list - Phase 2
Rich Burridge <rich.burridge@oracle.com>
parents: 1038
diff changeset
   116
COMPONENT_SRC_NAME =	$(COMPONENT_NAME)
accc15fa8762 15878378 Auto-generation of Userland gate list - Phase 2
Rich Burridge <rich.burridge@oracle.com>
parents: 1038
diff changeset
   117
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   118
COMPONENT_DIR :=	$(shell pwd)
72
4c33a310f793 7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 70
diff changeset
   119
SOURCE_DIR =	$(COMPONENT_DIR)/$(COMPONENT_SRC)
4c33a310f793 7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 70
diff changeset
   120
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
   121
PROTO_DIR =	$(BUILD_DIR)/prototype/$(MACH)
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   122
85
8098282b503b 7018226 move GNU screen to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 82
diff changeset
   123
ETCDIR =	/etc
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   124
USRDIR =	/usr
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   125
BINDIR =	/bin
220
3ff562b51ff5 7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents: 219
diff changeset
   126
SBINDIR =	/sbin
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   127
LIBDIR =	/lib
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   128
USRBINDIR =	$(USRDIR)/bin
990
6bfca1239ccb 7197062 Upgrade lua to 5.2.1
Srinivasa Sarva <Srinivasa.Sarva@oracle.com>
parents: 978
diff changeset
   129
USRBINDIR64 =	$(USRDIR)/bin/$(MACH64)
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   130
USRSBINDIR =	$(USRDIR)/sbin
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   131
USRLIBDIR =	$(USRDIR)/lib
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   132
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
   133
USRINCDIR =	$(USRDIR)/include
3ff562b51ff5 7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents: 219
diff changeset
   134
USRSHARELOCALEDIR =	$(USRSHAREDIR)/locale
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   135
USRSHAREMANDIR =	$(USRSHAREDIR)/man
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   136
USRSHAREDOCDIR =	$(USRSHAREDIR)/doc
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
   137
USRSHARELIBDIR =	$(USRSHAREDIR)/lib
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   138
USRSHAREMAN1DIR =	$(USRSHAREMANDIR)/man1
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   139
USRSHAREMAN1MDIR =	$(USRSHAREMANDIR)/man1m
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   140
USRSHAREMAN3DIR =	$(USRSHAREMANDIR)/man3
152
f0ba422362c2 7030869 move git from sfw consolidation to userland consolidation
Craig Mohrman <Craig.Mohrman@oracle.com>
parents: 151
diff changeset
   141
USRSHAREMAN4DIR =	$(USRSHAREMANDIR)/man4
74
7e35801ce8b8 7016379 migrate elinks to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents: 72
diff changeset
   142
USRSHAREMAN5DIR =	$(USRSHAREMANDIR)/man5
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   143
USRLIBDIR64 =	$(USRDIR)/lib/$(MACH64)
220
3ff562b51ff5 7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents: 219
diff changeset
   144
PROTOBINDIR =	$(PROTO_DIR)/$(BINDIR)
85
8098282b503b 7018226 move GNU screen to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 82
diff changeset
   145
PROTOETCDIR =	$(PROTO_DIR)/$(ETCDIR)
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   146
PROTOETCSECDIR = $(PROTO_DIR)/$(ETCDIR)/security
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   147
PROTOUSRDIR =	$(PROTO_DIR)/$(USRDIR)
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   148
PROTOLIBDIR =	$(PROTO_DIR)/$(LIBDIR)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   149
PROTOUSRBINDIR =	$(PROTO_DIR)/$(USRBINDIR)
990
6bfca1239ccb 7197062 Upgrade lua to 5.2.1
Srinivasa Sarva <Srinivasa.Sarva@oracle.com>
parents: 978
diff changeset
   150
PROTOUSRBINDIR64 =	$(PROTO_DIR)/$(USRBINDIR64)
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   151
PROTOUSRSBINDIR =	$(PROTO_DIR)/$(USRSBINDIR)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   152
PROTOUSRLIBDIR =	$(PROTO_DIR)/$(USRLIBDIR)
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   153
PROTOUSRLIBDIR64 =	$(PROTO_DIR)/$(USRLIBDIR64)
220
3ff562b51ff5 7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents: 219
diff changeset
   154
PROTOUSRINCDIR =	$(PROTO_DIR)/$(USRINCDIR)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   155
PROTOUSRSHAREDIR =	$(PROTO_DIR)/$(USRSHAREDIR)
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
   156
PROTOUSRSHARELIBDIR =	$(PROTO_DIR)/$(USRSHARELIBDIR)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   157
PROTOUSRSHAREMANDIR =	$(PROTO_DIR)/$(USRSHAREMANDIR)
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   158
PROTOUSRSHAREDOCDIR =	$(PROTO_DIR)/$(USRSHAREDOCDIR)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   159
PROTOUSRSHAREMAN1DIR =	$(PROTO_DIR)/$(USRSHAREMAN1DIR)
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   160
PROTOUSRSHAREMAN1MDIR =	$(PROTO_DIR)/$(USRSHAREMAN1MDIR)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   161
PROTOUSRSHAREMAN3DIR =	$(PROTO_DIR)/$(USRSHAREMAN3DIR)
152
f0ba422362c2 7030869 move git from sfw consolidation to userland consolidation
Craig Mohrman <Craig.Mohrman@oracle.com>
parents: 151
diff changeset
   162
PROTOUSRSHAREMAN4DIR =	$(PROTO_DIR)/$(USRSHAREMAN4DIR)
f0ba422362c2 7030869 move git from sfw consolidation to userland consolidation
Craig Mohrman <Craig.Mohrman@oracle.com>
parents: 151
diff changeset
   163
PROTOUSRSHAREMAN5DIR =	$(PROTO_DIR)/$(USRSHAREMAN5DIR)
220
3ff562b51ff5 7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents: 219
diff changeset
   164
PROTOUSRSHARELOCALEDIR =	$(PROTO_DIR)/$(USRSHARELOCALEDIR)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   165
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   166
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   167
SFWBIN =	/usr/sfw/bin
220
3ff562b51ff5 7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents: 219
diff changeset
   168
SFWINCLUDE =	/usr/sfw/include
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   169
SFWLIB =	/usr/sfw/lib
120
ef1efc113f13 7021528 move bison/gsed to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 116
diff changeset
   170
SFWLIB64 =	/usr/sfw/lib/$(MACH64)
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   171
SFWSHARE =	/usr/sfw/share
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   172
SFWSHAREMAN =	/usr/sfw/share/man
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   173
SFWSHAREMAN1 =	/usr/sfw/share/man/man1
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   174
PROTOSFWBIN =	$(PROTO_DIR)/$(SFWBIN)
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   175
PROTOSFWLIB =	$(PROTO_DIR)/$(SFWLIB)
120
ef1efc113f13 7021528 move bison/gsed to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 116
diff changeset
   176
PROTOSFWLIB64 =	$(PROTO_DIR)/$(SFWLIB64)
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   177
PROTOSFWSHARE =	$(PROTO_DIR)/$(SFWSHARE)
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   178
PROTOSFWSHAREMAN =	$(PROTO_DIR)/$(SFWSHAREMAN)
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   179
PROTOSFWSHAREMAN1 =	$(PROTO_DIR)/$(SFWSHAREMAN1)
220
3ff562b51ff5 7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents: 219
diff changeset
   180
PROTOSFWINCLUDE =	$(PROTO_DIR)/$(SFWINCLUDE)
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   181
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   182
GNUBIN =	/usr/gnu/bin
486
00cc0158aa99 7080229 bison should not install files under /usr/sfw
Rich Burridge <rich.burridge@oracle.com>
parents: 477
diff changeset
   183
GNULIB =	/usr/gnu/lib
00cc0158aa99 7080229 bison should not install files under /usr/sfw
Rich Burridge <rich.burridge@oracle.com>
parents: 477
diff changeset
   184
GNULIB64 =	/usr/gnu/lib/$(MACH64)
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   185
GNUSHARE =	/usr/gnu/share
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   186
GNUSHAREMAN =	/usr/gnu/share/man
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   187
GNUSHAREMAN1 =	/usr/gnu/share/man/man1
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   188
PROTOGNUBIN =	$(PROTO_DIR)/$(GNUBIN)
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   189
PROTOGNUSHARE =	$(PROTO_DIR)/$(GNUSHARE)
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   190
PROTOGNUSHAREMAN =	$(PROTO_DIR)/$(GNUSHAREMAN)
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   191
PROTOGNUSHAREMAN1 =	$(PROTO_DIR)/$(GNUSHAREMAN1)
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   192
16
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   193
# 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
   194
# 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
   195
# 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
   196
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
   197
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
   198
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
   199
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
   200
# 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
   201
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
   202
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
   203
# 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
   204
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
   205
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
   206
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
   207
# 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
   208
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
   209
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
   210
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   211
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
   212
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
   213
CONFIGURE_64 =		$(BUILD_DIR_64)/.configured
2032
916ced318d1e 19317151 libxml2 needs Python 3 module
John Beck <John.Beck@Oracle.COM>
parents: 2022
diff changeset
   214
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
   215
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   216
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
   217
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
   218
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
   219
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   220
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
   221
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
   222
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
   223
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
   224
# 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
   225
$(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
   226
$(BUILD_DIR_32)/.built:		BITS=32
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   227
$(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
   228
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   229
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
   230
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
   231
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
   232
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
   233
$(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
   234
$(BUILD_DIR_32)/.installed:       BITS=32
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents: 277
diff changeset
   235
$(BUILD_DIR_64)/.installed:       BITS=64
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   236
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   237
# 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
   238
COMPONENT_INSTALL_TARGETS =	install
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   239
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
   240
# 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
   241
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
   242
77a09e73626b 20548962 generated test files should be in the build directory for clobbering time
Rich Burridge <rich.burridge@oracle.com>
parents: 3817
diff changeset
   243
# 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
   244
COMPONENT_TEST_RESULTS_DIR =	$(COMPONENT_DIR)/test
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   245
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
   246
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   247
# 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
   248
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
   249
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   250
# 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
   251
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
   252
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   253
# 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
   254
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
   255
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   256
# 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
   257
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
   258
3747
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3701
diff changeset
   259
# 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
   260
COMPONENT_TEST_TRANSFORMER =	$(GSED)
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3701
diff changeset
   261
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
   262
# 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
   263
# 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
   264
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
   265
	'-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
   266
	'-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
   267
	'-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
   268
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   269
# 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
   270
# 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
   271
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
   272
	@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
   273
	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
   274
		print "\#!/bin/sh" > $(COMPONENT_TEST_TRANSFORM_CMD); \
3747
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3701
diff changeset
   275
        	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
   276
			$(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
   277
                	' \\' >> $(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
   278
        	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
   279
                	>> $(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
   280
        	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
   281
                	>> $(COMPONENT_TEST_TRANSFORM_CMD); \
3750
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   282
	else \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   283
		print 'Cannot find $(COMPONENT_TEST_MASTER)'; \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   284
		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
   285
	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
   286
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   287
# 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
   288
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
   289
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   290
# 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
   291
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
   292
	@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
   293
	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
   294
		$(SHELL) $(COMPONENT_TEST_TRANSFORM_CMD); \
3750
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   295
	else \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   296
		print 'Cannot find $(COMPONENT_TEST_MASTER)'; \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   297
		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
   298
	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
   299
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   300
# 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
   301
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
   302
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   303
# 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
   304
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
   305
	@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
   306
	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
   307
		$(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
   308
			$(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
   309
			> $(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
   310
		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
   311
		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
   312
		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
   313
			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
   314
			$(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
   315
			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
   316
		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
   317
			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
   318
		fi \
3750
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   319
	else \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   320
		print 'Cannot find $(COMPONENT_TEST_MASTER)'; \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   321
		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
   322
	fi
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   323
2164
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2106
diff changeset
   324
# 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
   325
COMPONENT_TEST_ENV_CMD =        $(ENV)
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   326
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
   327
2106
adb848b3a7d4 19535379 lua's self tests are a bit of a mess
Rich Burridge <rich.burridge@oracle.com>
parents: 2060
diff changeset
   328
# 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
   329
COMPONENT_TEST_CMD =		$(GMAKE)
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   330
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
   331
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   332
# 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
   333
COMPONENT_TEST_TARGETS =	check
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   334
COMPONENT_SYSTEM_TEST_TARGETS =	check
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   335
2022
d590db614c66 PSARC 2014/156 doxygen version 1.8.7
Rich Burridge <rich.burridge@oracle.com>
parents: 2010
diff changeset
   336
# 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
   337
COMPONENT_TEST_DIR =		$(@D)
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   338
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
   339
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
   340
# 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
   341
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
   342
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
   343
SYSTEM_TEST_32 =		$(BUILD_DIR_32)/.system-tested
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   344
SYSTEM_TEST_64 =		$(BUILD_DIR_64)/.system-tested
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   345
else
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   346
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
   347
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
   348
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
   349
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
   350
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
   351
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
   352
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
   353
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
   354
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
   355
else
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   356
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
   357
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
   358
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
   359
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
   360
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
   361
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   362
# 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
   363
# 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
   364
# 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
   365
# 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
   366
# 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
   367
# 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
   368
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   369
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
   370
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   371
$(BUILD_DIR_NO_ARCH)/.system-tested:			BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   372
$(BUILD_DIR_32)/.system-tested:				BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   373
$(BUILD_DIR_64)/.system-tested:				BITS=64
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   374
$(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
   375
$(BUILD_DIR_32)/.system-tested-and-compared:		BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   376
$(BUILD_DIR_64)/.system-tested-and-compared:		BITS=64
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   377
$(BUILD_DIR_NO_ARCH)/.tested:				BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   378
$(BUILD_DIR_32)/.tested:				BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   379
$(BUILD_DIR_64)/.tested:				BITS=64
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   380
$(BUILD_DIR_NO_ARCH)/.tested-and-compared:		BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   381
$(BUILD_DIR_32)/.tested-and-compared:			BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   382
$(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
   383
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
   384
$(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
   385
$(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
   386
$(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
   387
$(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
   388
$(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
   389
$(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
   390
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   391
$(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
   392
	$(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
   393
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
   394
# 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
   395
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
   396
84267c1130e9 fix SPRO_ROOT usage to match ON and SFW and not be confusing
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   397
SPRO_ROOT =	$(BUILD_TOOLS)/SUNWspro
4104
3dc5412c5fb1 20866394 userland should move to studio 12.4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 4091
diff changeset
   398
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
   399
4272
842ee8dc3530 21057637 userland should move to parfait 1.6.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 4252
diff changeset
   400
PARFAIT_ROOT =	$(BUILD_TOOLS)/parfait/parfait-tools-1.6.1
1394
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   401
PARFAIT_TOOLS=	$(WS_TOOLS)/$(MACH)/parfait
1496
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   402
PARFAIT_TOOLS_GCC3=	$(PARFAIT_TOOLS)/gcc3
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   403
PARFAIT= $(PARFAIT_ROOT)/bin/parfait
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   404
export PARFAIT_NATIVESUNCC=$(SPRO_VROOT)/bin/cc
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   405
export PARFAIT_NATIVESUNCXX=$(SPRO_VROOT)/bin/CC
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   406
export PARFAIT_NATIVEGCC=$(GCC_ROOT)/bin/gcc
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   407
export PARFAIT_NATIVEGXX=$(GCC_ROOT)/bin/g++
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   408
4302
0825b6328b45 21093117 userland should move to gcc 4.8
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 4288
diff changeset
   409
GCC_ROOT =	/usr/gcc/4.8
1496
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   410
GCC3_ROOT =	/usr/gcc/3.4
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   411
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   412
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
   413
CXX.studio.32 =	$(SPRO_VROOT)/bin/CC
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   414
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   415
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   416
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
   417
CXX.studio.64 =	$(SPRO_VROOT)/bin/CC
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   418
151
f9e42a3f7095 7030982 hgk is delivered 444, breaks 'hg view'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 148
diff changeset
   419
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
   420
CXX.gcc.32 =	$(GCC_ROOT)/bin/g++
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   421
151
f9e42a3f7095 7030982 hgk is delivered 444, breaks 'hg view'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 148
diff changeset
   422
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
   423
CXX.gcc.64 =	$(GCC_ROOT)/bin/g++
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   424
1496
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   425
CC.gcc3.32 =	$(GCC3_ROOT)/bin/gcc
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   426
CXX.gcc3.32 =	$(GCC3_ROOT)/bin/g++
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   427
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   428
CC.gcc3.64 =	$(GCC3_ROOT)/bin/gcc
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   429
CXX.gcc3.64 =	$(GCC3_ROOT)/bin/g++
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   430
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   431
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
   432
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
   433
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   434
LINT =		$(lint.$(BITS))
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   435
16
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   436
LD =		/usr/bin/ld
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   437
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   438
ifeq   ($(strip $(PARFAIT_BUILD)),yes)
1394
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   439
CC.studio.32 =	$(PARFAIT_TOOLS)/cc
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   440
CXX.studio.32 =	$(PARFAIT_TOOLS)/CC
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   441
CC.studio.64 =	$(PARFAIT_TOOLS)/cc
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   442
CXX.studio.64 =	$(PARFAIT_TOOLS)/CC
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   443
CC.gcc.32 =	$(PARFAIT_TOOLS)/gcc
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   444
CXX.gcc.32 =	$(PARFAIT_TOOLS)/g++
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   445
CC.gcc.64 =	$(PARFAIT_TOOLS)/gcc
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   446
CXX.gcc.64 =	$(PARFAIT_TOOLS)/g++
1496
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   447
CC.gcc3.32 =	$(PARFAIT_TOOLS_GCC3)/gcc
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   448
CXX.gcc3.32 =	$(PARFAIT_TOOLS_GCC3)/g++
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   449
CC.gcc3.64 =	$(PARFAIT_TOOLS_GCC3)/gcc
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   450
CXX.gcc3.64 =	$(PARFAIT_TOOLS_GCC3)/g++
1394
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   451
LD =		$(PARFAIT_TOOLS)/ld
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   452
endif
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   453
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   454
CC =		$(CC.$(COMPILER).$(BITS))
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   455
CXX =		$(CXX.$(COMPILER).$(BITS))
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   456
1505
750c1a0a43d2 17510747 change puppet and facter to use ruby 1.9 instead of ruby 1.8
April Chin <april.chin@oracle.com>
parents: 1496
diff changeset
   457
RUBY_VERSION =	1.9
750c1a0a43d2 17510747 change puppet and facter to use ruby 1.9 instead of ruby 1.8
April Chin <april.chin@oracle.com>
parents: 1496
diff changeset
   458
RUBY_LIB_VERSION =	1.9.1
1482
7a1f84fbc2d7 PSARC/2013/269 Add Ruby 1.9.3 and EOF and Remove Ruby 1.8.7
April Chin <april.chin@oracle.com>
parents: 1434
diff changeset
   459
RUBY.1.8 =	/usr/ruby/1.8/bin/ruby
7a1f84fbc2d7 PSARC/2013/269 Add Ruby 1.9.3 and EOF and Remove Ruby 1.8.7
April Chin <april.chin@oracle.com>
parents: 1434
diff changeset
   460
RUBY.1.9 =	/usr/ruby/1.9/bin/ruby
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents: 1394
diff changeset
   461
RUBY =		$(RUBY.$(RUBY_VERSION))
2054
5f403d9bcaad PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2032
diff changeset
   462
# 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
   463
# 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
   464
# 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
   465
RUBY_VERSIONS = $(RUBY_LIB_VERSION)
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   466
2010
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   467
PYTHON.2.6.VENDOR_PACKAGES.32 = /usr/lib/python2.6/vendor-packages
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   468
PYTHON.2.6.VENDOR_PACKAGES.64 = /usr/lib/python2.6/vendor-packages/64
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   469
PYTHON.2.6.VENDOR_PACKAGES = $(PYTHON.2.6.VENDOR_PACKAGES.$(BITS))
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   470
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   471
PYTHON.2.7.VENDOR_PACKAGES.32 = /usr/lib/python2.7/vendor-packages
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   472
PYTHON.2.7.VENDOR_PACKAGES.64 = /usr/lib/python2.7/vendor-packages/64
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   473
PYTHON.2.7.VENDOR_PACKAGES = $(PYTHON.2.7.VENDOR_PACKAGES.$(BITS))
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   474
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   475
PYTHON.3.4.VENDOR_PACKAGES.64 = /usr/lib/python3.4/vendor-packages/64
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   476
PYTHON.3.4.VENDOR_PACKAGES = $(PYTHON.3.4.VENDOR_PACKAGES.$(BITS))
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   477
148
33ca3897ae25 7029701 libxml2 should move to userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 146
diff changeset
   478
PYTHON_VENDOR_PACKAGES.32 = /usr/lib/python$(PYTHON_VERSION)/vendor-packages
33ca3897ae25 7029701 libxml2 should move to userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 146
diff changeset
   479
PYTHON_VENDOR_PACKAGES.64 = /usr/lib/python$(PYTHON_VERSION)/vendor-packages/64
33ca3897ae25 7029701 libxml2 should move to userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 146
diff changeset
   480
PYTHON_VENDOR_PACKAGES = $(PYTHON_VENDOR_PACKAGES.$(BITS))
33ca3897ae25 7029701 libxml2 should move to userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 146
diff changeset
   481
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   482
PYTHON.2.6.TEST = /usr/lib/python2.6/test
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   483
PYTHON.2.7.TEST = /usr/lib/python2.7/test
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   484
PYTHON.3.4.TEST = /usr/lib/python3.4/test
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   485
2010
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   486
USRBIN.32 =	/usr/bin
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   487
USRBIN.64 =	/usr/bin/$(MACH64)
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   488
USRBIN =	$(USRBIN.$(BITS))
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   489
2010
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   490
PYTHON.2.6.32 =	$(USRBIN.32)/python2.6
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   491
PYTHON.2.6.64 =	$(USRBIN.64)/python2.6
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   492
PYTHON.2.6 =	$(USRBIN)/python2.6
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   493
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   494
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
   495
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
   496
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
   497
1907
446472de62e9 PSARC 2014/151 Python 3.4
John Beck <John.Beck@Oracle.COM>
parents: 1836
diff changeset
   498
# 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
   499
# 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
   500
# 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
   501
# 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
   502
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
   503
PYTHON.3.4.64 =	$(USRBIN.32)/python3.4
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   504
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
   505
978
f7d58c85fe8d 7167209 Mistakes in make-rules/shared-macros.mk
Rich Burridge <rich.burridge@oracle.com>
parents: 975
diff changeset
   506
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
   507
PYTHON.64 =	$(PYTHON.$(PYTHON_VERSION).64)
148
33ca3897ae25 7029701 libxml2 should move to userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 146
diff changeset
   508
PYTHON =	$(PYTHON.$(PYTHON_VERSION).$(BITS))
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   509
146
8e22ba234817 7027466 Move nmap to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 145
diff changeset
   510
# 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
   511
# 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
   512
# belong in vendor-packages.
8e22ba234817 7027466 Move nmap to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 145
diff changeset
   513
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
   514
PYTHON_DATA= $(PYTHON_LIB)
146
8e22ba234817 7027466 Move nmap to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 145
diff changeset
   515
3959
0de894549bd0 20708433 userland should build with java 8
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 3951
diff changeset
   516
JAVA8_HOME =	/usr/jdk/instances/jdk1.8.0
1165
acf39745f10c 15734212 SUNBT7076895 userland fails to build with jdk1.7
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1152
diff changeset
   517
JAVA7_HOME =	/usr/jdk/instances/jdk1.7.0
3959
0de894549bd0 20708433 userland should build with java 8
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 3951
diff changeset
   518
JAVA_HOME = $(JAVA8_HOME)
116
ae6a90899b42 7022452 move ant to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 109
diff changeset
   519
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   520
# 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
   521
# Not necessarily the system's default version, i.e. /usr/bin/perl
2010
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   522
PERL_VERSION ?=  5.12
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   523
4069
0dd96f5ba7da backout 20088231 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 4059
diff changeset
   524
PERL_VERSIONS = 5.12 5.16
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   525
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   526
PERL.5.12 =     /usr/perl5/5.12/bin/perl
1152
96d423311191 16292975 perl_modules should build and deliver perl 5.16 versions
Craig Mohrman <craig.mohrman@oracle.com>
parents: 1138
diff changeset
   527
PERL.5.16 =	/usr/perl5/5.16/bin/perl
1335
de08f025b1d0 16666707 Add Perl XML processing modules
mahmood.ali@oracle.com <mahmood.ali@oracle.com>
parents: 1198
diff changeset
   528
PERL.5.12-mt =	/usr/perl5/5.12/bin/perl-threaded
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   529
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   530
PERL =          $(PERL.$(PERL_VERSION))
127
3e3c266b3a81 7013705 userland build needs local tarball caching
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 120
diff changeset
   531
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   532
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
   533
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
   534
# 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
   535
# 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
   536
# 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
   537
# the studio compiler.
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   538
#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
   539
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
   540
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   541
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
   542
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
   543
1189
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   544
# 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
   545
# 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
   546
TCL_VERSION =  8.5
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   547
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
   548
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
   549
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
   550
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
   551
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
   552
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   553
CCSMAKE =	/usr/ccs/bin/make
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   554
GMAKE =		/usr/gnu/bin/make
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   555
GPATCH =	/usr/gnu/bin/patch
82
2f155565730b 7017244 move ggrep to userland (fix mismerge)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 80
diff changeset
   556
PATCH_LEVEL =	1
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   557
GPATCH_BACKUP =	--backup --version-control=numbered
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   558
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
   559
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
   560
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
   561
GSORT =		/usr/gnu/bin/sort
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   562
105
da9e87a40aec 7021891 repo created by build should be v4, not v3
Danek Duvall <danek.duvall@oracle.com>
parents: 102
diff changeset
   563
PKGREPO =	/usr/bin/pkgrepo
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   564
PKGSEND =	/usr/bin/pkgsend
1188
d563dccb5adb 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1165
diff changeset
   565
ifeq   ($(strip $(PKGLINT_COMPONENT)),)
70
c610cf9d3d5d 7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 64
diff changeset
   566
PKGLINT =	/usr/bin/pkglint
1188
d563dccb5adb 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1165
diff changeset
   567
else
d563dccb5adb 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1165
diff changeset
   568
PKGLINT =	${WS_TOOLS}/pkglint
d563dccb5adb 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1165
diff changeset
   569
endif
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   570
160
4eabca2bceee 7032426 hal-cups-utils needs to move to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 156
diff changeset
   571
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
   572
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
   573
AUTORECONF = 	/usr/bin/autoreconf
4eabca2bceee 7032426 hal-cups-utils needs to move to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 156
diff changeset
   574
165
111c46cade93 7018146 move hplip to userland
sonam gupta - Sun Microsystems - Bangalore India <Sonam.Gupta@Sun.COM>
parents: 160
diff changeset
   575
KSH93 =         /usr/bin/ksh93
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   576
TOUCH =		/usr/bin/touch
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   577
MKDIR =		/bin/mkdir -p
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   578
RM =		/bin/rm -f
7
d42300cb8715 add license/copyright info for ips generation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 6
diff changeset
   579
CP =		/bin/cp -f
142
6f1cb90a0ef3 7026996 move tomcat to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 138
diff changeset
   580
MV =		/bin/mv -f
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   581
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
   582
CAT =		/bin/cat
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   583
SYMLINK =	/bin/ln -s
16
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   584
ENV =		/usr/bin/env
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   585
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
   586
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
   587
CHMOD =		/usr/bin/chmod
224
b0ca638fab1b 7017965 Integrate BIND in to userland consolidation
Stacey Marshall <Stacey.Marshall@Oracle.COM>
parents: 220
diff changeset
   588
NAWK =		/usr/bin/nawk
b0ca638fab1b 7017965 Integrate BIND in to userland consolidation
Stacey Marshall <Stacey.Marshall@Oracle.COM>
parents: 220
diff changeset
   589
TEE =		/usr/bin/tee
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   590
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   591
INS.dir=        $(INSTALL) -d $@
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   592
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
   593
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   594
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
   595
PKG_CONFIG_PATH.64 = /usr/lib/$(MACH64)/pkgconfig
978
f7d58c85fe8d 7167209 Mistakes in make-rules/shared-macros.mk
Rich Burridge <rich.burridge@oracle.com>
parents: 975
diff changeset
   596
PKG_CONFIG_PATH = $(PKG_CONFIG_PATH.$(BITS))
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   597
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   598
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   599
#
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   600
# 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
   601
# 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
   602
# 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
   603
# similiar.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   604
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   605
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   606
# 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
   607
# What other side-effects are there?
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   608
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
   609
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   610
# 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
   611
# 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
   612
CPP_LARGEFILES.32 :=	$(shell getconf LFS_CFLAGS)
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   613
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
   614
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
   615
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   616
# 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
   617
# 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
   618
# we currently do not support.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   619
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
   620
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   621
# 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
   622
# 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
   623
# 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
   624
# 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
   625
# CFLAGS instead of using this directly
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   626
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
   627
200
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   628
# 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
   629
# _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
   630
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
   631
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   632
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   633
# 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
   634
# 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
   635
# 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
   636
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   637
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   638
# Generate 32/64 bit objects
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   639
CC_BITS =	-m$(BITS)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   640
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   641
# 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
   642
# and not the .arch.bits variety directly.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   643
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
   644
studio_XBITS.sparc.64 =	
7fa97e814929 7035978 parfait support for userland bits (fix sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 774
diff changeset
   645
ifneq   ($(strip $(PARFAIT_BUILD)),yes)
7fa97e814929 7035978 parfait support for userland bits (fix sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 774
diff changeset
   646
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
   647
endif
7fa97e814929 7035978 parfait support for userland bits (fix sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 774
diff changeset
   648
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
   649
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
   650
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
   651
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
   652
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   653
# 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
   654
# standard library semantics of routines that appear in	both the 1990 and
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   655
# 1999 C standard. To use set studio_C99MODE=$(studio_99_ENABLE) in your
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   656
# component Makefile.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   657
studio_C99_ENABLE =		-xc99=all
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   658
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   659
# 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
   660
# standard library semantics of routines that appeared in both the 1990	and
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   661
# 1999 C standard.  To use set studio_C99MODE=$(studio_99_DISABLE) in your
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   662
# component Makefile.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   663
studio_C99_DISABLE =	-xc99=none
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   664
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   665
# 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
   666
studio_C99MODE =
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   667
200
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   668
# 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
   669
# 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
   670
studio_cplusplus_C99_ENABLE = 	-xlang=c99
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   671
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   672
# Turn it off.
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   673
studio_cplusplus_C99_DISABLE =
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   674
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   675
# 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
   676
studio_cplusplus_C99MODE = 
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   677
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   678
# 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
   679
# statements.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   680
studio_FEATURES_EXTENSIONS =	-features=extensions
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   681
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   682
# Control the Studio optimization level.
102
1a8b07a3e826 7020772 userland build should provide more macros for common flags (fix cflags)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
   683
studio_OPT.sparc.32 =	-xO4
1a8b07a3e826 7020772 userland build should provide more macros for common flags (fix cflags)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
   684
studio_OPT.sparc.64 =	-xO4
1a8b07a3e826 7020772 userland build should provide more macros for common flags (fix cflags)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
   685
studio_OPT.i386.32 =	-xO4
1a8b07a3e826 7020772 userland build should provide more macros for common flags (fix cflags)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
   686
studio_OPT.i386.64 =	-xO4
1a8b07a3e826 7020772 userland build should provide more macros for common flags (fix cflags)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
   687
studio_OPT =		$(studio_OPT.$(MACH).$(BITS))
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   688
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   689
# 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
   690
studio_PIC = 	-KPIC -DPIC
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   691
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   692
# 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
   693
# 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
   694
# (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
   695
# 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
   696
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
   697
studio_IROPTS =		$(studio_IROPTS.$(MACH))
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   698
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   699
# 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
   700
# 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
   701
# 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
   702
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   703
# 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
   704
# 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
   705
# 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
   706
# 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
   707
# CC would use.
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   708
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
   709
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
   710
studio_XREGS =		$(studio_XREGS.$(MACH))
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   711
459
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   712
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
   713
gcc_XREGS.i386 =
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   714
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
   715
109
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   716
# 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
   717
# 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
   718
# default.
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   719
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
   720
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
   721
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
   722
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   723
# 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
   724
# 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
   725
# 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
   726
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
   727
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   728
# See CPP_XPG6MODE comment above.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   729
studio_XPG6MODE =	$(studio_C99MODE) $(CPP_XPG6MODE)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   730
XPG6MODE =		$(studio_XPG6MODE)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   731
200
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   732
# 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
   733
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
   734
XPG5MODE =		$(studio_XPG5MODE)
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   735
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   736
# 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
   737
# 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
   738
# 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
   739
# 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
   740
# configure environment.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   741
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
   742
			$(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
   743
			$(studio_MT)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   744
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   745
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   746
# 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
   747
# 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
   748
# 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
   749
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   750
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   751
# GCC Compiler optimization flag
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   752
gcc_OPT =	-O3
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   753
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   754
# 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
   755
gcc_PIC =	-fPIC -DPIC
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   756
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   757
# Generic macro for PIC code generation.  Use this macro instead of the
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   758
# compiler specific variant.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   759
CC_PIC =	$($(COMPILER)_PIC)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   760
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
# 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
   763
# 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
   764
# 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
   765
# 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
   766
# configure environment.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   767
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
   768
CFLAGS.gcc +=	$(gcc_XREGS)
1496
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   769
CFLAGS.gcc3 +=	$(gcc_OPT)
f774cfa29f53 17389915 default userland gcc should be gcc4
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1482
diff changeset
   770
CFLAGS.gcc3 +=	$(gcc_XREGS)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   771
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   772
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   773
# Build 32 or 64 bit objects.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   774
CFLAGS +=	$(CC_BITS)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   775
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   776
# Add compiler specific 'default' features
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   777
CFLAGS +=	$(CFLAGS.$(COMPILER))
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   778
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   779
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   780
# 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
   781
# 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
   782
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
   783
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   784
# 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
   785
# (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
   786
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
   787
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   788
# 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
   789
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
   790
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   791
# 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
   792
# 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
   793
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
   794
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   795
# 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
   796
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
   797
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   798
# Add the C++ ABI compatibility flags for older ABI compatibility.  The default
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   799
# is "standard mode" (-compat=5)
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   800
studio_COMPAT_VERSION_4 =	-compat=4
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   801
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   802
# 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
   803
# 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
   804
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
   805
219
22d9e175d379 7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 207
diff changeset
   806
# 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
   807
CXXFLAGS +=	$(CC_BITS)
22d9e175d379 7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 207
diff changeset
   808
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   809
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   810
# 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
   811
# 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
   812
# 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
   813
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   814
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   815
# 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
   816
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
   817
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   818
# 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
   819
# get linker guidance here.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   820
LD_Z_REDLOCSYM =	-z redlocsym
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   821
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   822
# 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
   823
# 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
   824
# 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
   825
# only be required if the component's native build is horribly broken.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   826
LD_Z_RESCAN_NOW =	-z rescan-now
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   827
1512
f57514e19ede 17596443 nm -p output change breaks userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1505
diff changeset
   828
LD_Z_TEXT =		-z text
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   829
766
58402b94c13b 7159254 Userland adjustments to ease Studio 12.3 transition
Rich Burridge <rich.burridge@oracle.com>
parents: 706
diff changeset
   830
# 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
   831
LD_DEF_LIBS +=		-lc
58402b94c13b 7159254 Userland adjustments to ease Studio 12.3 transition
Rich Burridge <rich.burridge@oracle.com>
parents: 706
diff changeset
   832
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   833
# make sure all symbols are defined.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   834
LD_Z_DEFS =		-z defs
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   835
170
14cadb780400 7033275 userland should default vendor to 'Oracle Corporation'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   836
# eliminate unreferenced dynamic dependencies
14cadb780400 7033275 userland should default vendor to 'Oracle Corporation'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   837
LD_Z_IGNORE =		-z ignore
14cadb780400 7033275 userland should default vendor to 'Oracle Corporation'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   838
1512
f57514e19ede 17596443 nm -p output change breaks userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1505
diff changeset
   839
# eliminate comments
f57514e19ede 17596443 nm -p output change breaks userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1505
diff changeset
   840
LD_Z_STRIP_CLASS =	-z strip-class=comment
f57514e19ede 17596443 nm -p output change breaks userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1505
diff changeset
   841
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   842
# use direct binding
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   843
LD_B_DIRECT =		-Bdirect
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   844
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   845
# use generic macro names for enabling/disabling ASLR
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   846
ASLR_ENABLE = 		-z aslr=enable
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   847
ASLR_DISABLE = 		-z aslr=disable
1434
c782e620dd26 17296512 Add ASLR_NOT_APPLICABLE as an ASLR mode in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 1409
diff changeset
   848
ASLR_NOT_APPLICABLE = 	-z aslr=disable
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   849
ASLR_MODE = 		$(ASLR_DISABLE)
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   850
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   851
# by default, turn off Address Space Layout Randomization for ELF executables;
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   852
# to explicitly enable ASLR, set ASLR_MODE = $(ASLR_ENABLE)
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   853
# 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
   854
LD_Z_ASLR =		$(ASLR_MODE)
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   855
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   856
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   857
# 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
   858
# 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
   859
# '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
   860
# 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
   861
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   862
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   863
# Create a non-executable stack when linking.
176
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents: 172
diff changeset
   864
LD_MAP_NOEXSTK.i386 =	-M /usr/lib/ld/map.noexstk
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents: 172
diff changeset
   865
LD_MAP_NOEXSTK.sparc =	-M /usr/lib/ld/map.noexstk
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   866
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   867
# Create a non-executable bss segment when linking.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   868
LD_MAP_NOEXBSS =	-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
   869
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   870
# 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
   871
# 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
   872
# see mapfile comments for more information
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   873
LD_MAP_NOEXDATA.i386 =	-M /usr/lib/ld/map.noexdata
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   874
LD_MAP_NOEXDATA.sparc =	$(LD_MAP_NOEXBSS)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   875
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   876
# Page alignment
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   877
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
   878
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   879
# 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
   880
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
   881
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   882
# 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
   883
# 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
   884
# component build.
176
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents: 172
diff changeset
   885
LD_OPTIONS +=	$(LD_MAP_NOEXSTK.$(MACH)) $(LD_MAP_NOEXDATA.$(MACH)) \
1512
f57514e19ede 17596443 nm -p output change breaks userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1505
diff changeset
   886
		$(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
   887
		$(LD_Z_STRIP_CLASS)
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   888
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   889
# only used on executables
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   890
LD_EXEC_OPTIONS = $(LD_Z_ASLR)
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   891
62
519e6e3788ce 7013265 userland could use a tool to aid in SUNW package generation
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 61
diff changeset
   892
# 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
   893
# 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
   894
COMPONENT_BUILD_ENV= \
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   895
    LD_OPTIONS="$(LD_OPTIONS)" \
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   896
    LD_EXEC_OPTIONS="$(LD_EXEC_OPTIONS)"
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   897
COMPONENT_INSTALL_ENV= \
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   898
    LD_OPTIONS="$(LD_OPTIONS)" \
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
   899
    LD_EXEC_OPTIONS="$(LD_EXEC_OPTIONS)"
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   900
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
   901
# 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
   902
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
   903
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
   904
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
   905
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
   906
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   907
# declare these phony so that we avoid filesystem conflicts.
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   908
.PHONY:	prep build install publish 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
   909
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   910
# If there are no tests to execute
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   911
NO_TESTS =	test-nothing
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   912
test-nothing:
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   913
	@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
   914
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
   915
# 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
   916
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
   917
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
   918
	@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
   919
3701
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   920
# 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
   921
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
   922
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
   923
	@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
   924
1038
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
   925
# 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
   926
# 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
   927
# 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
   928
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
   929
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
   930
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
   931
	@$(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
   932
4252
891a844655c4 20992358 clean/clobber in many components no longer deletes the build directory
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4206
diff changeset
   933
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
   934
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
   935
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   936
#
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   937
# 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
   938
#
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   939
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
   940
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
   941
ifeq ($(COMPILER),gcc3)
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   942
REQUIRED_PACKAGES += developer/gcc-3
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   943
endif
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   944
ifeq ($(COMPILER),gcc)
4302
0825b6328b45 21093117 userland should move to gcc 4.8
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 4288
diff changeset
   945
REQUIRED_PACKAGES += developer/gcc-48
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   946
endif
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   947
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
   948
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
   949
# 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
   950
# 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
   951
#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
   952
endif
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   953
endif
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   954
ifeq ($(PARFAIT_BUILD),yes)
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   955
# 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
   956
#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
   957
endif
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   958
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
   959
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
   960
REQUIRED_PACKAGES += package/pkg
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   961
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
   962
REQUIRED_PACKAGES += shell/bash
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   963
REQUIRED_PACKAGES += shell/ksh93
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   964
REQUIRED_PACKAGES += text/gawk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   965
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
   966
REQUIRED_PACKAGES += text/gnu-sed
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   967
REQUIRED_PACKAGES += developer/java/jdk-7
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   968
REQUIRED_PACKAGES += security/sudo
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   969
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   970
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
   971
d88c5d15a4af 20869828 Userland makefiles should provide macro printing helpers
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4104
diff changeset
   972
# 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
   973
#   $ gmake print-REQUIRED_PACKAGES
d88c5d15a4af 20869828 Userland makefiles should provide macro printing helpers
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4104
diff changeset
   974
# 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
   975
# 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
   976
print-%:
d88c5d15a4af 20869828 Userland makefiles should provide macro printing helpers
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4104
diff changeset
   977
	@echo '$(subst ','\'',$*=$($*)) (origin: $(origin $*), flavor: $(flavor $*))'