annotate make/windows/get_msc_ver.sh @ 12176:88c255656030

8016155: SIGBUS when running Kitchensink with ParallelScavenge and ParallelOld Summary: When using NUMA and large pages we need to ease the requirement on which node the memory should be allocated on. To avoid the SIGBUS we now use the memory policy MPOL_PREFERRED, which prefers a certain node, instead of MPOL_BIND, which requires a certain node. Reviewed-by: jmasa, pliden Contributed-by: stefan.johansson@oracle.com
author mgerdin
date Thu, 22 Aug 2013 10:50:41 +0200
parents b9a9ed0f8eeb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
6842
b9a9ed0f8eeb 7197424: update copyright year to match last edit in jdk8 hotspot repository
mikael
parents: 4891
diff changeset
2 # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 #
a61af66fc99e Initial load
duke
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 #
a61af66fc99e Initial load
duke
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 #
a61af66fc99e Initial load
duke
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 #
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1328
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1328
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1328
diff changeset
21 # questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 #
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24
1322
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
25 set -e
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
26
0
a61af66fc99e Initial load
duke
parents:
diff changeset
27 # This shell script echoes "MSC_VER=<munged version of cl>"
a61af66fc99e Initial load
duke
parents:
diff changeset
28 # It ignores the micro version component.
a61af66fc99e Initial load
duke
parents:
diff changeset
29 # Examples:
a61af66fc99e Initial load
duke
parents:
diff changeset
30 # cl version 12.00.8804 returns "MSC_VER=1200"
a61af66fc99e Initial load
duke
parents:
diff changeset
31 # cl version 13.10.3077 returns "MSC_VER=1310"
a61af66fc99e Initial load
duke
parents:
diff changeset
32 # cl version 14.00.30701 returns "MSC_VER=1399" (OLD_MSSDK version)
a61af66fc99e Initial load
duke
parents:
diff changeset
33 # cl version 14.00.40310.41 returns "MSC_VER=1400"
645
c3a720eefe82 6816308: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
kvn
parents: 196
diff changeset
34 # cl version 15.00.21022.8 returns "MSC_VER=1500"
0
a61af66fc99e Initial load
duke
parents:
diff changeset
35
a61af66fc99e Initial load
duke
parents:
diff changeset
36 # Note that we currently do not have a way to set HotSpotMksHome in
a61af66fc99e Initial load
duke
parents:
diff changeset
37 # the batch build, but so far this has not seemed to be a problem. The
a61af66fc99e Initial load
duke
parents:
diff changeset
38 # reason this environment variable is necessary is that it seems that
a61af66fc99e Initial load
duke
parents:
diff changeset
39 # Windows truncates very long PATHs when executing shells like MKS's
a61af66fc99e Initial load
duke
parents:
diff changeset
40 # sh, and it has been found that sometimes `which sh` fails.
a61af66fc99e Initial load
duke
parents:
diff changeset
41
a61af66fc99e Initial load
duke
parents:
diff changeset
42 if [ "x$HotSpotMksHome" != "x" ]; then
1322
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
43 TOOL_DIR="$HotSpotMksHome"
0
a61af66fc99e Initial load
duke
parents:
diff changeset
44 else
1322
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
45 # HotSpotMksHome is not set so use the directory that contains "sh".
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
46 # This works with both MKS and Cygwin.
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
47 SH=`which sh`
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
48 TOOL_DIR=`dirname "$SH"`
0
a61af66fc99e Initial load
duke
parents:
diff changeset
49 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
50
1328
39e409a664b3 6938185: 3/4 6923488 breaks Windows command shell builds
dcubed
parents: 1322
diff changeset
51 DIRNAME="$TOOL_DIR/dirname"
1322
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
52 HEAD="$TOOL_DIR/head"
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
53 ECHO="$TOOL_DIR/echo"
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
54 EXPR="$TOOL_DIR/expr"
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
55 CUT="$TOOL_DIR/cut"
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
56 SED="$TOOL_DIR/sed"
0
a61af66fc99e Initial load
duke
parents:
diff changeset
57
a61af66fc99e Initial load
duke
parents:
diff changeset
58 if [ "x$FORCE_MSC_VER" != "x" ]; then
a61af66fc99e Initial load
duke
parents:
diff changeset
59 echo "MSC_VER=$FORCE_MSC_VER"
a61af66fc99e Initial load
duke
parents:
diff changeset
60 else
a61af66fc99e Initial load
duke
parents:
diff changeset
61 MSC_VER_RAW=`cl 2>&1 | "$HEAD" -n 1 | "$SED" 's/.*Version[\ ]*\([0-9][0-9.]*\).*/\1/'`
a61af66fc99e Initial load
duke
parents:
diff changeset
62 MSC_VER_MAJOR=`"$ECHO" $MSC_VER_RAW | "$CUT" -d'.' -f1`
a61af66fc99e Initial load
duke
parents:
diff changeset
63 MSC_VER_MINOR=`"$ECHO" $MSC_VER_RAW | "$CUT" -d'.' -f2`
a61af66fc99e Initial load
duke
parents:
diff changeset
64 MSC_VER_MICRO=`"$ECHO" $MSC_VER_RAW | "$CUT" -d'.' -f3`
a61af66fc99e Initial load
duke
parents:
diff changeset
65 if [ "${MSC_VER_MAJOR}" -eq 14 -a "${MSC_VER_MINOR}" -eq 0 -a "${MSC_VER_MICRO}" -eq 30701 ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
66 # This said 1400 but it was really more like VS2003 (VC7) in terms of options
a61af66fc99e Initial load
duke
parents:
diff changeset
67 MSC_VER=1399
a61af66fc99e Initial load
duke
parents:
diff changeset
68 else
a61af66fc99e Initial load
duke
parents:
diff changeset
69 MSC_VER=`"$EXPR" $MSC_VER_MAJOR \* 100 + $MSC_VER_MINOR`
a61af66fc99e Initial load
duke
parents:
diff changeset
70 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
71 echo "MSC_VER=$MSC_VER"
a61af66fc99e Initial load
duke
parents:
diff changeset
72 echo "MSC_VER_RAW=$MSC_VER_RAW"
a61af66fc99e Initial load
duke
parents:
diff changeset
73 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
74
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 2042
diff changeset
75 if [ "x$FORCE_LD_VER" != "x" ]; then
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 2042
diff changeset
76 echo "LD_VER=$FORCE_LD_VER"
0
a61af66fc99e Initial load
duke
parents:
diff changeset
77 else
1322
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
78 # use the "link" command that is co-located with the "cl" command
21141e23627a 6923488: 4/4 need minor tweaks to HotSpot build for Cygwin
dcubed
parents: 844
diff changeset
79 cl_cmd=`which cl`
1328
39e409a664b3 6938185: 3/4 6923488 breaks Windows command shell builds
dcubed
parents: 1322
diff changeset
80 if [ "x$cl_cmd" != "x" ]; then
39e409a664b3 6938185: 3/4 6923488 breaks Windows command shell builds
dcubed
parents: 1322
diff changeset
81 link_cmd=`$DIRNAME "$cl_cmd"`/link
39e409a664b3 6938185: 3/4 6923488 breaks Windows command shell builds
dcubed
parents: 1322
diff changeset
82 else
39e409a664b3 6938185: 3/4 6923488 breaks Windows command shell builds
dcubed
parents: 1322
diff changeset
83 # which can't find "cl" so just use which ever "link" we find
39e409a664b3 6938185: 3/4 6923488 breaks Windows command shell builds
dcubed
parents: 1322
diff changeset
84 link_cmd="link"
39e409a664b3 6938185: 3/4 6923488 breaks Windows command shell builds
dcubed
parents: 1322
diff changeset
85 fi
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 2042
diff changeset
86 LD_VER_RAW=`"$link_cmd" 2>&1 | "$HEAD" -n 1 | "$SED" 's/.*Version[\ ]*\([0-9][0-9.]*\).*/\1/'`
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 2042
diff changeset
87 LD_VER_MAJOR=`"$ECHO" $LD_VER_RAW | "$CUT" -d'.' -f1`
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 2042
diff changeset
88 LD_VER_MINOR=`"$ECHO" $LD_VER_RAW | "$CUT" -d'.' -f2`
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 2042
diff changeset
89 LD_VER_MICRO=`"$ECHO" $LD_VER_RAW | "$CUT" -d'.' -f3`
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 2042
diff changeset
90 LD_VER=`"$EXPR" $LD_VER_MAJOR \* 100 + $LD_VER_MINOR`
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 2042
diff changeset
91 echo "LD_VER=$LD_VER"
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 2042
diff changeset
92 echo "LD_VER_RAW=$LD_VER_RAW"
0
a61af66fc99e Initial load
duke
parents:
diff changeset
93 fi