author | Alan Coopersmith <Alan.Coopersmith@Oracle.COM> |
Tue, 10 Jun 2014 15:09:43 -0700 | |
changeset 1456 | c800ec17944c |
parent 1422 | 4db080f5236f |
child 1466 | fbd4067be4c6 |
permissions | -rwxr-xr-x |
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
379
diff
changeset
|
1 |
#!/bin/ksh93 |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2 |
# |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
3 |
# buildit |
1422
4db080f5236f
17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1296
diff
changeset
|
4 |
# Script for building Solaris X Consolidation |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
5 |
# |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
6 |
########################################################################### |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
7 |
# |
1422
4db080f5236f
17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1296
diff
changeset
|
8 |
# Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
9 |
# |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
10 |
# Permission is hereby granted, free of charge, to any person obtaining a |
919
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
11 |
# copy of this software and associated documentation files (the "Software"), |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
12 |
# to deal in the Software without restriction, including without limitation |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
13 |
# the rights to use, copy, modify, merge, publish, distribute, sublicense, |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
14 |
# and/or sell copies of the Software, and to permit persons to whom the |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
15 |
# Software is furnished to do so, subject to the following conditions: |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
16 |
# |
919
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
17 |
# The above copyright notice and this permission notice (including the next |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
18 |
# paragraph) shall be included in all copies or substantial portions of the |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
19 |
# Software. |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
20 |
# |
919
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
21 |
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
22 |
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
23 |
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
24 |
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
25 |
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
26 |
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
27 |
# DEALINGS IN THE SOFTWARE. |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
28 |
# |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
29 |
########################################################################### |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
30 |
# |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
31 |
# |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
32 |
|
967
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
33 |
# Add /usr/bin to front of path in case user has /usr/gnu/bin default |
1124
7bc7e624f965
7042476 Xorg 1.10 & associated module updates [PSARC/2011/214]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1022
diff
changeset
|
34 |
# Add /usr/gnu/bin to path for gnu sed/awk/etc. that configure scripts prefer |
967
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
35 |
# Add /usr/sbin to path for dtrace (to build probes in X servers) |
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
36 |
|
1124
7bc7e624f965
7042476 Xorg 1.10 & associated module updates [PSARC/2011/214]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1022
diff
changeset
|
37 |
PATH=/usr/bin:${PATH}:/usr/gnu/bin:/usr/sbin |
967
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
38 |
export PATH |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
39 |
|
1003
a4d17d6bc179
6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
970
diff
changeset
|
40 |
progname="$0" |
a4d17d6bc179
6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
970
diff
changeset
|
41 |
function fatal_error |
a4d17d6bc179
6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
970
diff
changeset
|
42 |
{ |
a4d17d6bc179
6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
970
diff
changeset
|
43 |
print -u2 "${progname}: ERROR: $*" |
a4d17d6bc179
6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
970
diff
changeset
|
44 |
exit 1 |
a4d17d6bc179
6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
970
diff
changeset
|
45 |
} |
a4d17d6bc179
6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
970
diff
changeset
|
46 |
|
967
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
47 |
MAKE_PKGS=0 |
970
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
48 |
VERBOSE_FLAGS="" # verbosity flag passed to xmake/make_release_packages |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
49 |
PUBLISHER_FLAGS="" |
967
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
50 |
|
970
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
51 |
while getopts pP:v i; do |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
52 |
case $i in |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
53 |
p) MAKE_PKGS=1 ;; |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
54 |
v) VERBOSE_FLAGS="-v" ;; |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
55 |
P) PUBLISHER_FLAGS="-p $OPTARG" ;; |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
56 |
?) print -u2 "USAGE: $0 [-p [-P publisher]] [-v]"; exit 2 ;; |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
57 |
esac |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
58 |
done |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
59 |
|
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
60 |
shift $(($OPTIND-1)) |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
61 |
|
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
62 |
if [[ $? != 0 ]] ; then |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
63 |
print -u2 "USAGE: $0 [-p [-P publisher]] [-v]" |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
64 |
exit 2 |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
65 |
fi |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
66 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
67 |
[ -d log ] || mkdir log |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
68 |
|
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
379
diff
changeset
|
69 |
# Send all further output & errors to the log file |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
70 |
exec > log/buildit-XW 2>&1 |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
71 |
|
1296
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
72 |
START="$(perl -e 'print time')" |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
73 |
|
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
74 |
XMAKE="$(pwd)/open-src/util/build-tools/xmake ${VERBOSE_FLAGS} -k" |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
75 |
|
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
76 |
${XMAKE} setup || fatal_error "make setup failed: cannot build" |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
77 |
|
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
78 |
# Extract variables from makefiles via make and set them in the shell |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
79 |
get_make_var() { |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
80 |
typeset -n var=$1 |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
81 |
eval "$(${XMAKE} -s -C open-src/util/util-macros print_make_vars VARS=$1)" |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
82 |
} |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
83 |
|
906
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
84 |
# Find hg id and export it so set-elf-comments.pl doesn't have to re-run |
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
85 |
# for every module built |
970
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
86 |
hg_id() { |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
87 |
hg id -it | read rev tag |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
88 |
case "${tag}" in |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
89 |
tip) print "${rev}" ;; |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
90 |
*) print "${tag}" ;; |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
91 |
esac |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
92 |
} |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
93 |
export XBUILD_HG_ID="$(hg_id)" |
906
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
94 |
|
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
95 |
print "------------------------------------------------------------------------------" |
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
96 |
print "Building gate at hg id: ${XBUILD_HG_ID}" |
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
97 |
print -n "Start time: " ; date |
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
98 |
print -n "Building on: " ; uname -a |
1296
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
99 |
print "Using these tools: " |
1422
4db080f5236f
17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1296
diff
changeset
|
100 |
# Make sure Studio C compiler is at least version 5.12 (Studio 12.3) |
1296
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
101 |
whence cc |
802
159b5b227862
6865400 X consolidation does not build with Studio 12 Update 1 compilers
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
102 |
cc -V 2>&1 | perl -n -e 'if (($_ =~ m| C (\d+).(\d+)|)) { \ |
1422
4db080f5236f
17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1296
diff
changeset
|
103 |
print $_ ; ( ($1 != 5) || ($2 < 12) ) ? exit(1) : exit(0) }' \ |
4db080f5236f
17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1296
diff
changeset
|
104 |
|| fatal_error '*** Studio Compiler is too old! Studio 12.3 is required.' |
1296
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
105 |
# Log paths & versions of tools which use gnu standard --version flag |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
106 |
get_make_var GCC |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
107 |
for tool in parfait ${GCC} gmake autoconf automake libtool ; do |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
108 |
printf "%-22s\t" "$(whence ${tool}):" |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
109 |
${tool} --version | head -1 |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
110 |
done |
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
379
diff
changeset
|
111 |
|
810
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
802
diff
changeset
|
112 |
# Exported to stop Sun compilers from reporting home on each usage |
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
802
diff
changeset
|
113 |
export SUNW_NO_UPDATE_NOTIFY='true' |
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
802
diff
changeset
|
114 |
export UT_NO_USAGE_TRACKING='1' |
705
24ca414edbff
6826940 Xorg server 1.6.1, Mesa 7.4.1, and associated module upgrades [PSARC 2009/292]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
648
diff
changeset
|
115 |
|
906
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
116 |
print "Using these environment variables: " |
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
379
diff
changeset
|
117 |
env |
906
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
118 |
print "------------------------------------------------------------------------------" |
810
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
802
diff
changeset
|
119 |
|
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
802
diff
changeset
|
120 |
MACH="$(uname -p)" |
970
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
121 |
|
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
122 |
# Clean new proto areas for this architecture |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
123 |
/bin/rm -rf "proto/root_${MACH}" "proto/metadata_${MACH}" \ |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
124 |
"proto/pkg_${MACH}" "proto/tools_${MACH}" |
272328fe1b4a
6941932 X should be able to build IPS packages natively
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
125 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
126 |
cd open-src |
906
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
127 |
# Run as two steps to avoid race between cleaning & rebuilding when |
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
128 |
# using parallel make |
967
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
129 |
${XMAKE} clean |
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
130 |
${XMAKE} install |
1196
1ce455dae979
7081325 X builds should run check_rtime to ensure binaries are linked well
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1130
diff
changeset
|
131 |
${XMAKE} check_rtime > ../log/check-rtime 2>&1 & |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
132 |
cd .. |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
133 |
|
1296
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
134 |
get_make_var USE_PARFAIT |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
135 |
if [[ "${USE_PARFAIT}" == "yes" ]] ; then |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
136 |
get_make_var DMAKE_MAX_JOBS |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
137 |
/bin/rm -rf log/parfait |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
138 |
parfait -e all -c open-src/common/X-parfait.conf -z "$(pwd)" \ |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
139 |
-j "${DMAKE_MAX_JOBS:-100%}" -r "${XBUILD_HG_ID}" \ |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
140 |
-o log/parfait.txt -g log/parfait open-src > log/parfait.out 2>&1 & |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
141 |
fi |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
142 |
|
1196
1ce455dae979
7081325 X builds should run check_rtime to ensure binaries are linked well
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1130
diff
changeset
|
143 |
# Set DISTRO_NAME based on open-src/common/Makefile.options |
1296
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
144 |
get_make_var DISTRO_NAME |
1196
1ce455dae979
7081325 X builds should run check_rtime to ensure binaries are linked well
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1130
diff
changeset
|
145 |
|
1ce455dae979
7081325 X builds should run check_rtime to ensure binaries are linked well
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1130
diff
changeset
|
146 |
print "\nFinished building the X Window System Consolidation for" \ |
1ce455dae979
7081325 X builds should run check_rtime to ensure binaries are linked well
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1130
diff
changeset
|
147 |
"${DISTRO_NAME:-OpenSolaris}.\n" |
1130
e9cbce844ef6
7041591 duplicate and missing dependencies in x11 IPS packages
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1124
diff
changeset
|
148 |
|
e9cbce844ef6
7041591 duplicate and missing dependencies in x11 IPS packages
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1124
diff
changeset
|
149 |
if [ "${MAKE_PKGS}" = 1 ] ; then |
e9cbce844ef6
7041591 duplicate and missing dependencies in x11 IPS packages
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1124
diff
changeset
|
150 |
print -n "Build finish time: " ; date ; print "" |
e9cbce844ef6
7041591 duplicate and missing dependencies in x11 IPS packages
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1124
diff
changeset
|
151 |
./make_release_packages ${PUBLISHER_FLAGS} ${VERBOSE_FLAGS} |
e9cbce844ef6
7041591 duplicate and missing dependencies in x11 IPS packages
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1124
diff
changeset
|
152 |
fi |
e9cbce844ef6
7041591 duplicate and missing dependencies in x11 IPS packages
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1124
diff
changeset
|
153 |
|
1196
1ce455dae979
7081325 X builds should run check_rtime to ensure binaries are linked well
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1130
diff
changeset
|
154 |
wait |
1ce455dae979
7081325 X builds should run check_rtime to ensure binaries are linked well
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1130
diff
changeset
|
155 |
|
1296
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
156 |
if [[ "${USE_PARFAIT}" == "yes" ]] ; then |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
157 |
print -n "\nParfait issues: " |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
158 |
wc -l < log/parfait/bugstatus.db |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
159 |
print "Parfait results:" |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
160 |
print " file:///net/$(hostname)$(pwd)/log/parfait/index.html" |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
161 |
fi |
9f021f447b92
7172112 X builds need to add a layer of parfait on top
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1196
diff
changeset
|
162 |
|
1196
1ce455dae979
7081325 X builds should run check_rtime to ensure binaries are linked well
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1130
diff
changeset
|
163 |
print -n "\ncheck-rtime errors: " |
1ce455dae979
7081325 X builds should run check_rtime to ensure binaries are linked well
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1130
diff
changeset
|
164 |
grep -c '^====' log/check-rtime |
1ce455dae979
7081325 X builds should run check_rtime to ensure binaries are linked well
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1130
diff
changeset
|
165 |
|
1130
e9cbce844ef6
7041591 duplicate and missing dependencies in x11 IPS packages
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1124
diff
changeset
|
166 |
print -n "\nFinish time: " ; date |
906
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
167 |
perl -e '$runtime = time - $ARGV[0]; |
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
168 |
printf("Runtime: %d:%02d\n", $runtime/3600, ($runtime%3600)/60); ' \ |
4c633d8c519b
6927451 X gate build scripts & Makefiles need adjustments for hg master gate
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
905
diff
changeset
|
169 |
"${START}" |