Mercurial > hg > truffle
annotate make/windows/get_msc_ver.sh @ 12690:c3bdd186e6cf
fix possible NPE in TruffleCompiler with TraceTruffleCompilation and background compilation enabled.
With background compilation, the installed code can already be invalidated when compiledMethod.getCode() is called, in which case it returns null.
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Wed, 06 Nov 2013 13:31:28 +0100 |
parents | b9a9ed0f8eeb |
children |
rev | line source |
---|---|
0 | 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 | 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 # | |
5 # This code is free software; you can redistribute it and/or modify it | |
6 # under the terms of the GNU General Public License version 2 only, as | |
7 # published by the Free Software Foundation. | |
8 # | |
9 # This code is distributed in the hope that it will be useful, but WITHOUT | |
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 # version 2 for more details (a copy is included in the LICENSE file that | |
13 # accompanied this code). | |
14 # | |
15 # You should have received a copy of the GNU General Public License version | |
16 # 2 along with this work; if not, write to the Free Software Foundation, | |
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
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 | 22 # |
23 # | |
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 | 27 # This shell script echoes "MSC_VER=<munged version of cl>" |
28 # It ignores the micro version component. | |
29 # Examples: | |
30 # cl version 12.00.8804 returns "MSC_VER=1200" | |
31 # cl version 13.10.3077 returns "MSC_VER=1310" | |
32 # cl version 14.00.30701 returns "MSC_VER=1399" (OLD_MSSDK version) | |
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 | 35 |
36 # Note that we currently do not have a way to set HotSpotMksHome in | |
37 # the batch build, but so far this has not seemed to be a problem. The | |
38 # reason this environment variable is necessary is that it seems that | |
39 # Windows truncates very long PATHs when executing shells like MKS's | |
40 # sh, and it has been found that sometimes `which sh` fails. | |
41 | |
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 | 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 | 49 fi |
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 | 57 |
58 if [ "x$FORCE_MSC_VER" != "x" ]; then | |
59 echo "MSC_VER=$FORCE_MSC_VER" | |
60 else | |
61 MSC_VER_RAW=`cl 2>&1 | "$HEAD" -n 1 | "$SED" 's/.*Version[\ ]*\([0-9][0-9.]*\).*/\1/'` | |
62 MSC_VER_MAJOR=`"$ECHO" $MSC_VER_RAW | "$CUT" -d'.' -f1` | |
63 MSC_VER_MINOR=`"$ECHO" $MSC_VER_RAW | "$CUT" -d'.' -f2` | |
64 MSC_VER_MICRO=`"$ECHO" $MSC_VER_RAW | "$CUT" -d'.' -f3` | |
65 if [ "${MSC_VER_MAJOR}" -eq 14 -a "${MSC_VER_MINOR}" -eq 0 -a "${MSC_VER_MICRO}" -eq 30701 ] ; then | |
66 # This said 1400 but it was really more like VS2003 (VC7) in terms of options | |
67 MSC_VER=1399 | |
68 else | |
69 MSC_VER=`"$EXPR" $MSC_VER_MAJOR \* 100 + $MSC_VER_MINOR` | |
70 fi | |
71 echo "MSC_VER=$MSC_VER" | |
72 echo "MSC_VER_RAW=$MSC_VER_RAW" | |
73 fi | |
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 | 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 | 93 fi |