make/scripts/vsvars.sh
author tbell
Tue, 23 Oct 2012 10:10:49 -0700
changeset 14069 2ca7a2522cb4
parent 7361 f412b1d9549b
child 14277 e03d509a553e
permissions -rw-r--r--
7152336: Enable builds on Windows with MinGW/MSYS Summary: Minimal makefile changes to enable building OpenJDK using MSYS on Windows7 Reviewed-by: ohair, tbell Contributed-by: volker.simonis@gmail.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
     1
#!/bin/sh
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
     2
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
     3
#
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
     4
# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
     5
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
     6
#
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
     7
# This code is free software; you can redistribute it and/or modify it
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
     8
# under the terms of the GNU General Public License version 2 only, as
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
     9
# published by the Free Software Foundation.
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    10
#
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    15
# accompanied this code).
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    16
#
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    20
#
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    23
# questions.
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    24
#
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    25
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    26
# This file should be used to set the Visual Studio environment
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    27
#   variables normally set by the vcvars32.bat or vcvars64.bat file or
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    28
#   SetEnv.cmd for older SDKs.
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    29
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    30
########################################################################
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    31
# Error functions
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    32
msg() # message
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    33
{
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    34
  echo "$1" 1>&2
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    35
}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    36
error() # message
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    37
{
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    38
  msg "ERROR: $1"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    39
  exit 1
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    40
}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    41
warning() # message
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    42
{
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    43
  msg "WARNING: $1"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    44
}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    45
envpath() # path
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    46
{
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    47
  if [ "${fixpath}" != "" -a -d "$1" ] ; then
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    48
    ${fixpath} "$1"
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    49
  else
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    50
    echo "$1"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    51
  fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    52
}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    53
########################################################################
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    54
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    55
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    56
# Defaults settings
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    57
debug="false"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    58
verbose="false"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    59
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    60
set -e
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
    61
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    62
CYGWIN="nodosfilewarning ntsec"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    63
export CYGWIN
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    64
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    65
# pathsepIn is always ; because the input strings are coming from
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    66
# vcvarsxx.bat.  This is true under all of MKS, Cygwin, MINGW/msys
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    67
pathsepIn=';'
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    68
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    69
OS="`uname -s`"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    70
case "${OS}" in
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    71
  CYGWIN*)
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    72
    pathflag='-c'
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    73
    devnull=/dev/null
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    74
    pathsepOut=':'
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    75
  ;;
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    76
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    77
  MINGW*)
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    78
    pathflag='-m'
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    79
    devnull=/dev/null
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    80
    pathsepOut=':'
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    81
  ;;
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    82
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    83
  *)
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    84
    # MKS?
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    85
    # Continue using dosname -s
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    86
    pathflag='-s'
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    87
    fixpath="dosname ${pathflag}"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    88
    fixpath_windows="${fixpath}"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    89
    fixpath_path="echo"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    90
    devnull=NUL
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    91
    pathsepOut=';'
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    92
  ;;
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    93
esac
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    94
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    95
case "${OS}" in
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    96
  CYGWIN*|MINGW*)
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    97
    t=`dirname ${0}`
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    98
    wd=`cd ${t} 2> ${devnull} && pwd`
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
    99
    fixpath_script="${wd}/fixpath.pl"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   100
    if [ ! -f "${fixpath_script}" ] ; then
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   101
        error "Does not exist: ${fixpath_script}"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   102
    fi
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   103
    fixpath="perl ${fixpath_script} ${pathflag}"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   104
    fixpath_windows="perl ${fixpath_script} -d"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   105
    fixpath_path="${fixpath_windows}"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   106
  ;;
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   107
esac
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   108
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   109
shellStyle="sh"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   110
## As far as I can tell from hg history, this has not worked
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   111
## for a long time because PPID is unset.  When run under Cygwin
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   112
## the script quits due to the 1 return from grep.
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   113
##parentCsh="` ps -p ${PPID} 2> ${devnull} | grep csh `"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   114
##if [ "${parentCsh}" != "" ] ; then
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   115
##  shellStyle="csh"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   116
##fi
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   117
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   118
# Check environment first
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   119
if [ "${PROGRAMFILES}" != "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   120
  progfiles=`envpath "${PROGRAMFILES}"`
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   121
elif [ "${ProgramFiles}" != "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   122
  progfiles=`envpath "${ProgramFiles}"`
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   123
elif [ "${SYSTEMDRIVE}" != "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   124
  progfiles=`envpath "${SYSTEMDRIVE}/Program Files"`
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   125
elif [ "${SystemDrive}" != "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   126
  progfiles=`envpath "${SystemDrive}/Program Files"`
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   127
else
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   128
  error "No PROGRAMFILES or SYSTEMDRIVE defined in environment"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   129
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   130
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   131
# Arch data model
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   132
if [ "${PROCESSOR_IDENTIFIER}" != "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   133
  arch=`echo "${PROCESSOR_IDENTIFIER}" | cut -d' ' -f1`
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   134
else
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   135
  if [ "${MACHTYPE}" != "" ] ; then
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   136
    if [ "`echo ${MACHTYPE} | grep 64`" != "" ] ; then
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   137
      # Assume this is X64, not IA64
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   138
      arch="x64"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   139
    else
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   140
      arch="x86"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   141
    fi
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   142
  else
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   143
   arch="`uname -m`"
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   144
  fi
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   145
  PROCESSOR_IDENTIFIER="${arch}"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   146
  export PROCESSOR_IDENTIFIER
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   147
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   148
if [ "${arch}" = "X86" -o \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   149
     "${arch}" = "386" -o "${arch}" = "i386" -o \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   150
     "${arch}" = "486" -o "${arch}" = "i486" -o \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   151
     "${arch}" = "586" -o "${arch}" = "i586" -o \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   152
     "${arch}" = "686" -o "${arch}" = "i686" -o \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   153
     "${arch}" = "86" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   154
  arch="x86"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   155
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   156
if [ "${arch}" = "X64"     -o \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   157
     "${arch}" = "8664"    -o "${arch}" = "i8664"   -o \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   158
     "${arch}" = "amd64"   -o "${arch}" = "AMD64"   -o \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   159
     "${arch}" = "EM64T"   -o "${arch}" = "emt64t"  -o \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   160
     "${arch}" = "intel64" -o "${arch}" = "Intel64" -o \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   161
     "${arch}" = "64" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   162
  arch="x64"
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   163
  binarch64="\\amd64"
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   164
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   165
if [ "${arch}" = "IA64" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   166
  arch="ia64"
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   167
  binarch64="\\ia64"
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   168
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   169
if [ "${arch}" != "x86" -a "${arch}" != "x64" -a "${arch}" != "ia64" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   170
 error "No PROCESSOR_IDENTIFIER or MACHTYPE environment variables and uname -m is not helping"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   171
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   172
if [ "${arch}" = "x86" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   173
  arch_data_model=32
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   174
  progfiles32="${progfiles}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   175
  progfiles64="${progfiles}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   176
else
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   177
  arch_data_model=64
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   178
  progfiles32="${progfiles}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   179
  if [ "${PROGRAMW6432}" != "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   180
    progfiles64=`envpath "${PROGRAMW6432}"`
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   181
  else
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   182
    progfiles64=`envpath "C:/Program Files"`
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   183
  fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   184
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   185
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   186
# VS2010 (VC10)
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   187
if [ "${VS100COMNTOOLS}" = "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   188
  VS100COMNTOOLS="${progfiles32}/Microsoft Visual Studio 10.0/Common7/Tools/"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   189
  export VS100COMNTOOLS
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   190
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   191
vc10Bin32Dir=`envpath "${VS100COMNTOOLS}"`/../../VC/Bin
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   192
vc10Bin64Dir="${vc10Bin32Dir}${binarch64}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   193
vc10vars32Bat="vcvars32.bat"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   194
vc10vars64Bat="vcvars64.bat"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   195
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   196
# VS2008 (VC9)
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   197
if [ "${VS90COMNTOOLS}" = "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   198
  VS90COMNTOOLS="${progfiles32}/Microsoft Visual Studio 9.0/Common7/Tools/"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   199
  export VS90COMNTOOLS
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   200
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   201
vc9Bin32Dir=`envpath "${VS90COMNTOOLS}"`/../../VC/Bin
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   202
vc9Bin64Dir="${vc9Bin32Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   203
vc9vars32Bat="vcvars32.bat"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   204
vc9vars64Bat="vcvars64.bat"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   205
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   206
# VS2005 (VC8)
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   207
if [ "${VS80COMNTOOLS}" = "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   208
  VS80COMNTOOLS="${progfiles32}/Microsoft Visual Studio 8.0/Common7/Tools/"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   209
  export VS80COMNTOOLS
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   210
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   211
vc8Bin32Dir=`envpath "${VS80COMNTOOLS}"`/../../VC/Bin
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   212
vc8Bin64Dir="${progfiles64}/Microsoft Platform SDK"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   213
vc8vars32Bat="vcvars32.bat"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   214
vc8vars64Bat="SetEnv.cmd /X64"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   215
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   216
# VS2003 (VC7)
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   217
if [ "${VS71COMNTOOLS}" = "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   218
  VS71COMNTOOLS="${progfiles32}/Microsoft Visual Studio .NET 2003/Common7/Tools/"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   219
  export VS71COMNTOOLS
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   220
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   221
vc7Bin32Dir=`envpath "${VS71COMNTOOLS}"`/../../VC7/Bin
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   222
vc7Bin64Dir="${progfiles64}/Microsoft Platform SDK"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   223
vc7vars32Bat="vcvars32.bat"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   224
vc7vars64Bat="SetEnv.cmd /X64"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   225
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   226
# Force user to select
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   227
vcSelection=""
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   228
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   229
# Parse options
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   230
usage="Usage: $0 [-help] [-debug] [-v] [-c] [-s] [-p] [-v10] [-v9] [-v8] [-v7] [-32] [-64]"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   231
while [ $# -gt 0 ] ; do
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   232
  if [ "$1" = "-help" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   233
    msg "${usage}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   234
    msg "  -help    Print out this help message"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   235
    msg "  -debug   Print out extra env variables to help debug this script"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   236
    msg "  -v       Verbose output warns about missing directories"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   237
    msg "  -c       Print out csh style output"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   238
    msg "  -s       Print out sh style output"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   239
    msg "  -p       Print out properties style output"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   240
    msg "  -v10     Use Visual Studio 10 VS2010"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   241
    msg "  -v9      Use Visual Studio 9 VS2008"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   242
    msg "  -v8      Use Visual Studio 8 VS2005"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   243
    msg "  -v7      Use Visual Studio 7 VS2003"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   244
    msg "  -32      Force 32bit"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   245
    msg "  -64      Force 64bit"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   246
    exit 0
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   247
  elif [ "$1" = "-debug" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   248
    debug="true"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   249
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   250
  elif [ "$1" = "-v" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   251
    verbose="true"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   252
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   253
  elif [ "$1" = "-c" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   254
    shellStyle="csh"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   255
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   256
  elif [ "$1" = "-s" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   257
    shellStyle="sh"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   258
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   259
  elif [ "$1" = "-p" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   260
    shellStyle="props"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   261
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   262
  elif [ "$1" = "-v10" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   263
    vcBin32Dir="${vc10Bin32Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   264
    vcBin64Dir="${vc10Bin64Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   265
    vcvars32Bat="${vc10vars32Bat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   266
    vcvars64Bat="${vc10vars64Bat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   267
    vcSelection="10"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   268
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   269
  elif [ "$1" = "-v9" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   270
    vcBin32Dir="${vc9Bin32Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   271
    vcBin64Dir="${vc9Bin64Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   272
    vcvars32Bat="${vc9vars32Bat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   273
    vcvars64Bat="${vc9vars64Bat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   274
    vcSelection="9"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   275
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   276
  elif [ "$1" = "-v8" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   277
    vcBin32Dir="${vc8Bin32Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   278
    vcBin64Dir="${vc8Bin64Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   279
    vcvars32Bat="${vc8vars32Bat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   280
    vcvars64Bat="${vc8vars64Bat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   281
    vcSelection="8"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   282
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   283
  elif [ "$1" = "-v7" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   284
    vcBin32Dir="${vc7Bin32Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   285
    vcBin64Dir="${vc7Bin64Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   286
    vcvars32Bat="${vc7vars32Bat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   287
    vcvars64Bat="${vc7vars64Bat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   288
    vcSelection="7"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   289
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   290
  elif [ "$1" = "-32" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   291
    arch_data_model=32
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   292
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   293
  elif [ "$1" = "-64" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   294
    arch_data_model=64
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   295
    shift
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   296
  else
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   297
    msg "${usage}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   298
    error "Unknown option: $1"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   299
  fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   300
done
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   301
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   302
# Need to pick
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   303
if [ "${vcSelection}" = "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   304
  msg "${usage}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   305
  error "You must pick the version"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   306
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   307
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   308
# Which vcvars bat file to run
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   309
if [ "${arch_data_model}" = "32" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   310
  vcBinDir="${vcBin32Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   311
  vcvarsBat="${vcvars32Bat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   312
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   313
if [ "${arch_data_model}" = "64" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   314
  vcBinDir="${vcBin64Dir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   315
  vcvarsBat="${vcvars64Bat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   316
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   317
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   318
# Do not allow any error returns
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   319
set -e
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   320
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   321
# Different systems have different awk's
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   322
if [ -f /usr/bin/nawk ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   323
  awk="nawk"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   324
elif [ -f /usr/bin/gawk ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   325
  awk="gawk"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   326
else
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   327
  awk="awk"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   328
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   329
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   330
if [ "${verbose}" = "true" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   331
  echo "# Welcome to verbose mode"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   332
  set -x
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   333
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   334
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   335
if [ "${debug}" = "true" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   336
  echo "# Welcome to debug mode"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   337
  set -x
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   338
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   339
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   340
# Temp file area
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   341
tmp="/tmp/vsvars.$$"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   342
rm -f -r ${tmp}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   343
mkdir -p ${tmp}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   344
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   345
# Check paths
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   346
checkPaths() # var path sep
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   347
{
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   348
  set -e
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   349
  sep="$3"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   350
  checklist="${tmp}/checklist"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   351
  printf "%s\n" "$2" | \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   352
    sed -e 's@\\@/@g' | \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   353
    sed -e 's@//@/@g' | \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   354
    ${awk} -F"${sep}" '{for(i=1;i<=NF;i++){printf "%s\n",$i;}}'  \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   355
      > ${checklist}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   356
  cat ${checklist} | while read orig; do
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   357
    if [ "${orig}" != "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   358
      if [ ! -d "${orig}" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   359
        warning "Directory in $1 does not exist: ${orig}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   360
      fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   361
    fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   362
  done
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   363
}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   364
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   365
# Remove all duplicate entries
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   366
removeDeadDups() # string sepIn sepOut
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   367
{
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   368
  set -e
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   369
  sepIn="$2"
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   370
  sepOut="$3"
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   371
  pathlist="${tmp}/pathlist"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   372
  printf "%s\n" "$1" | \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   373
    sed -e 's@\\@/@g' | \
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   374
    sed -e 's@//@/@g' | \
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   375
    ${awk} -F"${sepIn}" '{for(i=1;i<=NF;i++){printf "%s\n",$i;}}'  \
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   376
      > ${pathlist}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   377
  upaths="${tmp}/upaths"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   378
  cat ${pathlist} | while read orig; do
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   379
    p="${orig}"
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   380
    if [ "${fixpath}" != "" ] ; then
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   381
      if [ "${p}" != "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   382
        if [ -d "${p}" ] ; then
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   383
          short=`${fixpath} "${p}"`
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   384
          if [ "${short}" != "" -a -d "${short}" ] ; then
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   385
            p="${short}"
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   386
          fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   387
          echo "${p}" >> ${upaths}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   388
        fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   389
      fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   390
    fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   391
  done
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   392
  newpaths=""
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   393
  for i in  `cat ${upaths}` ; do
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   394
    # For some reason, \r characters can get into this
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   395
    i=`echo "${i}" | tr -d '\r' | sed -e 's@/$@@'`
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   396
    if [ "${newpaths}" = "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   397
      newpaths="${i}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   398
    else
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   399
      newpaths="${newpaths}${sepOut}${i}"
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   400
    fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   401
  done
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   402
  printf "%s\n" "${newpaths}" | \
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   403
    ${awk} -F"${sepOut}" \
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   404
       '{a[$1];printf "%s",$1;for(i=2;i<=NF;i++){if(!($i in a)){a[$i];printf "%s%s",FS,$i;}};printf "\n";}'
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   405
}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   406
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   407
# Create bat file to process Visual Studio vcvars*.bat files
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   408
createBat() # batfile bindir command
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   409
{
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   410
  bat="$1"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   411
  bindir="$2"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   412
  command="$3"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   413
  stdout="${bat}.stdout"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   414
  rm -f ${bat} ${stdout}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   415
  echo "Output from: ${command}" > ${stdout}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   416
  bdir=`envpath "${bindir}"`
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   417
  cat > ${bat} << EOF  
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   418
REM Pick the right vcvars bat file
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   419
REM Empty these out so we only get the additions we want
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   420
set INCLUDE=
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   421
set LIB=
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   422
set LIBPATH=
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   423
set MSVCDIR=
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   424
set MSSdk=
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   425
set Mstools=
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   426
set DevEnvDir=
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   427
set VCINSTALLDIR=
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   428
set VSINSTALLDIR=
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   429
set WindowsSdkDir=
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   430
REM Run the vcvars bat file, send all output to stderr
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   431
call `${fixpath_windows} ${bdir}`\\${command} > `${fixpath_windows} "${stdout}"`
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   432
REM Echo out env var settings
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   433
echo VS_VS71COMNTOOLS="%VS71COMNTOOLS%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   434
echo export VS_VS71COMNTOOLS
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   435
echo VS_VS80COMNTOOLS="%VS80COMNTOOLS%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   436
echo export VS_VS80COMNTOOLS
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   437
echo VS_VS90COMNTOOLS="%VS90COMNTOOLS%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   438
echo export VS_VS90COMNTOOLS
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   439
echo VS_VS100COMNTOOLS="%VS100COMNTOOLS%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   440
echo export VS_VS100COMNTOOLS
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   441
echo VS_VCINSTALLDIR="%VCINSTALLDIR%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   442
echo export VS_VCINSTALLDIR
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   443
echo VS_VSINSTALLDIR="%VSINSTALLDIR%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   444
echo export VS_VSINSTALLDIR
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   445
echo VS_DEVENVDIR="%DevEnvDir%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   446
echo export VS_DEVENVDIR
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   447
echo VS_MSVCDIR="%MSVCDIR%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   448
echo export VS_MSVCDIR
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   449
echo VS_MSSDK="%MSSdk%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   450
echo export VS_MSSDK
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   451
echo VS_MSTOOLS="%Mstools%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   452
echo export VS_MSTOOLS
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   453
echo VS_WINDOWSSDKDIR="%WindowsSdkDir%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   454
echo export VS_WINDOWSSDKDIR
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   455
echo VS_INCLUDE="%INCLUDE%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   456
echo export VS_INCLUDE
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   457
echo VS_LIB="%LIB%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   458
echo export VS_LIB
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   459
echo VS_LIBPATH="%LIBPATH%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   460
echo export VS_LIBPATH
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   461
echo VS_WPATH="%PATH%"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   462
echo export VS_WPATH
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   463
EOF
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   464
  chmod a+x ${bat}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   465
}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   466
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   467
# Create env file
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   468
createEnv() # batfile envfile
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   469
{
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   470
  rm -f ${1}.stdout ${1}.temp1 ${1}.temp2
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   471
  batfile=`${fixpath} ${1}`
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   472
  cmd.exe -Q -C < "$batfile" 1> ${1}.temp1 2> ${1}.temp2
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   473
  cat ${1}.temp1 | \
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   474
    sed -e 's@^Microsoft.*@@' \
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   475
        -e 's@^.*Copyright.*@@' \
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   476
        -e 's@^.*>REM.*@@' \
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   477
        -e 's@^.*>set.*@@' \
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   478
        -e 's@^.*>echo.*@@' \
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   479
        -e 's@^.*>call.*@@' \
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   480
        -e 's@^.*>$@@' \
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   481
        -e 's@\\@/@g' | \
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   482
    sed -e 's@//@/@g' > $2
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   483
  if [ -f "${1}.stdout" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   484
    cat ${1}.stdout 1>&2
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   485
  fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   486
  chmod a+x $2
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   487
}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   488
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   489
printEnv() # name pname vsname val
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   490
{
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   491
  name="$1"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   492
  pname="$2"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   493
  vsname="$3"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   494
  val="$4"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   495
  if [ "${val}" != "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   496
    if [ "${shellStyle}" = "csh" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   497
      if [ "${debug}" = "true" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   498
        echo "setenv ${vsname} \"${val}\";"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   499
      fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   500
      echo "setenv ${name} \"${val}\";"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   501
    elif [ "${shellStyle}" = "sh" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   502
      if [ "${debug}" = "true" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   503
        echo "${vsname}=\"${val}\";"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   504
        echo "export ${vsname};"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   505
      fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   506
      echo "${name}=\"${val}\";"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   507
      echo "export ${name};"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   508
    elif [ "${shellStyle}" = "props" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   509
      echo "vs.${pname}=${val}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   510
    fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   511
  fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   512
}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   513
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   514
#############################################################################
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   515
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   516
# Get Visual Studio settings
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   517
if [ "${fixpath}" != "" ] ; then
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   518
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   519
  # Create bat file to run
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   520
  batfile="${tmp}/vs-to-env.bat"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   521
  if [ ! -d "${vcBinDir}" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   522
    error "Does not exist: ${vcBinDir}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   523
  elif [ "${vcvarsBat}" = "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   524
    error "No vcvars script: ${vcvarsBat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   525
  else
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   526
    createBat "${batfile}" "${vcBinDir}" "${vcvarsBat}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   527
  fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   528
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   529
  # Run bat file to create environment variable settings
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   530
  envfile="${tmp}/env.sh"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   531
  createEnv "${batfile}" "${envfile}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   532
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   533
  # Read in the VS_* settings
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   534
  . ${envfile}
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   535
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   536
  # Derive unix style path, save old, and define new (remove dups)
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   537
  VS_UPATH=`${fixpath_path} "${VS_WPATH}"`
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   538
  export VS_UPATH
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   539
  VS_OPATH=`printf "%s" "${PATH}" | sed -e 's@\\\\@/@g'`
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   540
  export VS_OPATH
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   541
  VS_PATH=`removeDeadDups "${VS_UPATH}${pathsepIn}${VS_OPATH}" "${pathsepIn}" "${pathsepOut}"`
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   542
  export VS_PATH
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   543
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   544
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   545
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   546
# Adjustments due to differences in vcvars*bat files
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   547
if [ "${VS_MSVCDIR}" = "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   548
  VS_MSVCDIR="${VS_VCINSTALLDIR}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   549
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   550
if [ "${VS_DEVENVDIR}" = "" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   551
  VS_DEVENVDIR="${VS_VSINSTALLDIR}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   552
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   553
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   554
# Print env settings
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   555
#        env           vs.prop       vs env           value
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   556
#        -------       -------       ----------       -----
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   557
printEnv INCLUDE       include       VS_INCLUDE       "${VS_INCLUDE}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   558
printEnv LIB           lib           VS_LIB           "${VS_LIB}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   559
printEnv LIBPATH       libpath       VS_LIBPATH       "${VS_LIBPATH}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   560
if [ "${debug}" = "true" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   561
  printEnv UPATH         upath         VS_UPATH         "${VS_UPATH}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   562
  printEnv WPATH         wpath         VS_WPATH         "${VS_WPATH}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   563
  printEnv OPATH         opath         VS_OPATH         "${VS_OPATH}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   564
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   565
printEnv PATH          path          VS_PATH          "${VS_PATH}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   566
printEnv VCINSTALLDIR  vcinstalldir  VS_VCINSTALLDIR  "${VS_VCINSTALLDIR}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   567
printEnv VSINSTALLDIR  vsinstalldir  VS_VSINSTALLDIR  "${VS_VSINSTALLDIR}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   568
printEnv MSVCDIR       msvcdir       VS_MSVCDIR       "${VS_MSVCDIR}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   569
printEnv MSSDK         mssdk         VS_MSSDK         "${VS_MSSDK}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   570
printEnv MSTOOLS       mstools       VS_MSTOOLS       "${VS_MSTOOLS}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   571
printEnv DEVENVDIR     devenvdir     VS_DEVENVDIR     "${VS_DEVENVDIR}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   572
printEnv WINDOWSSDKDIR windowssdkdir VS_WINDOWSSDKDIR "${VS_WINDOWSSDKDIR}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   573
if [ "${vcSelection}" = "10" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   574
  printEnv VS100COMNTOOLS vs100comntools VS_VS100COMNTOOLS "${VS_VS100COMNTOOLS}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   575
elif [ "${vcSelection}" = "9" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   576
  printEnv VS90COMNTOOLS vs90comntools VS_VS90COMNTOOLS "${VS_VS90COMNTOOLS}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   577
elif [ "${vcSelection}" = "7" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   578
  printEnv VS71COMNTOOLS vs71comntools VS_VS71COMNTOOLS "${VS_VS71COMNTOOLS}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   579
elif [ "${vcSelection}" = "8" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   580
  printEnv VS80COMNTOOLS vs80comntools VS_VS80COMNTOOLS "${VS_VS80COMNTOOLS}"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   581
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   582
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   583
# Check final settings
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   584
if [ "${verbose}" = "true" ] ; then
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   585
  checkPaths "Windows PATH" "${VS_WPATH}" ";"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   586
  checkPaths LIB "${VS_LIB}" ";"
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   587
  checkPaths INCLUDE "${VS_INCLUDE}" ";"
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   588
  checkPaths PATH "${VS_PATH}" "${pathsepIn}"
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   589
fi
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   590
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   591
# Remove all temp files
14069
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   592
if [ "${debug}" != "true" ] ; then
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   593
  rm -f -r ${tmp}
2ca7a2522cb4 7152336: Enable builds on Windows with MinGW/MSYS
tbell
parents: 7361
diff changeset
   594
fi
7361
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   595
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   596
exit 0
f412b1d9549b 6909331: Add vsvars.sh to the jdk repository (handy cygwin way to get vcvars32.bat run)
ohair
parents:
diff changeset
   597