renamed win32_help folder, which seemed a bit misleading, to win32_helper.
[feisty_meow.git] / scripts / generator / vis_stu_vars.sh
1 #!/bin/bash
2
3 # this file attempts to provide all of the variables needed for compiling
4 # with the microsoft visual studio compiler (dot net version).  it requires
5 # one environment variable (called VSxCOMNTOOLS) be set that points at the
6 # location of the common tools in the visual studio installation.
7 # The value of x can be 80, 90 or 100.
8
9 function print_usage {
10   echo "The VS80COMNTOOLS, VS90COMNTOOLS and VS100COMNTOOLS variables are not set."
11   echo "This usually means that the Visual Studio compiler is not installed."
12   echo ""
13 }
14
15 chmod 755 $PRODUCTION_DIR/win32_helper/*.exe
16 export PATH=$PRODUCTION_DIR/win32_helper:$PATH
17
18 # we try to use the most recent compiler location, and work backwards as
19 # needed for the supported range (10 = vs 2010, 9 = vs 2008, 8 = vs 2005).
20 export VSxTOOLS="$VS100COMNTOOLS"
21 if [ -z "$VSxTOOLS" ]; then
22   export VSxTOOLS="$VS90COMNTOOLS"
23   if [ -z "$VSxTOOLS" ]; then
24     export VSxTOOLS="$VS80COMNTOOLS"
25   fi
26 fi
27
28 if [ -z "$VSxTOOLS" ]; then
29   print_usage
30   return 33
31 fi
32 #echo "common tools dir is \"$VSxTOOLS\""
33 export VSxTOOLS="$(short_path "$VSxTOOLS" | tr "A-Z" "a-z" | sed -e 's/\\/\//g' | sed -e 's/^\(.\):/\/\1/' )"
34 #echo cleaned comn tools is $VSxTOOLS 
35
36 export VIS_STU_ROOT="$(echo $VSxTOOLS | sed -e 's/^\(.*\)\/[^\/]*\/[^\/]*[\/]$/\1/' | sed -e 's/^\(.\):/\/\1/' )"
37 export VSINSTALLDIR="$VIS_STU_ROOT"
38 #echo root of visual studio is $VSINSTALLDIR
39
40 export WINDIR="$(short_path "$WINDIR" | sed -e 's/\\/\//g' | sed -e 's/^\(.\):/\/\1/' )"
41 #echo cleaned windir is $WINDIR
42
43 #echo "prior path is $PATH"
44
45 export VCINSTALLDIR="$VSINSTALLDIR/VC"
46 export VSCOMMONROOT="$VSINSTALLDIR/Common7"
47 export VS_TOOLS_DIR="$VSCOMMONROOT/tools"
48 export DevEnvDir="$VSCOMMONROOT/IDE"
49 export MSVCDir="$VCINSTALLDIR"
50 export FrameworkDir="$WINDIR/Microsoft.NET/Framework"
51 export FrameworkVersion=v4.0.30319
52 #old export FrameworkSDKDir="$VSINSTALLDIR/SDK/v2.0"
53
54 export PLATFORM_DIR="$VCINSTALLDIR/PlatformSDK"
55 if [ ! -d "$PLATFORM_DIR" ]; then
56   export PLATFORM_DIR="$(short_path "$PROGRAMFILES/Microsoft SDKs/Windows/v7.0A" | tr "A-Z" "a-z" | sed -e 's/^\(.*\)\/[^\/]*\/[^\/]*[\/]$/\1/' | sed -e 's/^\(.\):/\/\1/' )"
57 fi
58 export WindowsSdkDir="$PLATFORM_DIR"
59 #echo platform dir is $PLATFORM_DIR
60
61 #echo "path before is $PATH"
62 export PATH="$DevEnvDir:$VCINSTALLDIR/BIN:$VSxTOOLS:$VSxTOOLS/bin:$FrameworkDir/$FrameworkVersion:$FrameworkDir/v3.5:$VCINSTALLDIR/VCPackages:$VSINSTALLDIR/Common7/Tools:$PLATFORM_DIR/bin:$PATH"
63 #hmmm: yuck!  wake me up when we don't need all of those in the path.
64 #echo "path after is $PATH"
65
66 export INCLUDE="$VCINSTALLDIR/ATLMFC/INCLUDE:$VCINSTALLDIR/INCLUDE:$PLATFORM_DIR/include"
67 #:$FrameworkSDKDir/include"
68
69 export LIB="$VCINSTALLDIR/ATLMFC/LIB:$VCINSTALLDIR/LIB:$PLATFORM_DIR/lib"
70 #:$FrameworkSDKDir/lib"
71
72 # convert framework dir back or things yell like hell.
73 export FrameworkDir="$(echo $FrameworkDir | sed -e 's/^\/\(.\)[\\\/]\(.*\)$/\1:\\\2/' | tr "/" "\\" 2>/dev/null )"
74   # the redirection of stderr to null is to get around an obnoxious cygwin
75   # warning that seems to be erroneously bitching about backslashes.
76 #echo framedir now $FrameworkDir
77
78