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