move to common gemini arch directory
[charm.git] / src / arch / win64 / unix2nt_ar
1 #!/bin/sh
2 ##############################################################################
3 # unix2nt_ar: Maps UNIX ar command options to 
4 # Microsoft Visual C++ 6.0 LIB command line options.
5 #
6 # Known bugs: pathnames with spaces may cause quoting problems.
7 #
8 # Orion Sky Lawlor, olawlor@acm.org, 1/24/2001
9 ##############################################################################
10
11 # Configurable option: Location of MSDEV
12 #VCC_DIR="C:/Program Files/Microsoft Visual Studio/Vc98"
13 if test -z "$VCINSTALLDIR"
14 then
15   VCC_DIR="C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC"
16 else
17   VCC_DIR=$VCINSTALLDIR
18 fi
19
20 #only valid for the platform that has exported corresponding variables
21 #LIB_CMD="$VCC_DIR/BIN/LIB.EXE"
22 LIB_CMD="lib.exe"
23 LIB_OPTS='/nologo'
24
25 if [ "x$LIB" = "x" ]
26 then
27         echo "Variables already set!"
28 #       export INCLUDE="$VCC_DIR/include"
29 #       export LIB="$VCC_DIR/lib"
30 fi
31
32 ###################################################################
33 #
34 #  Utility routines used below
35 #
36 ###################################################################
37
38 # PrintUsage: prints a helpful command-line usage message and quits
39 # Args: any additional messages
40 printUsage() {
41     echo "Usage: unix2nt_ar <output file> <input files>"
42     echo
43         echo "Version 1.0, Parallel Programming Lab, UIUC, 2001"
44     echo $*
45     exit 1
46 }
47
48 # End blows away the temporary files (unless SAVE is true) and exits
49 # Args: <exit code>
50 End() {
51     exit $1
52 }
53
54 # This procedure prints an error message and exits.
55 # ("1>&2" redirects the echo output to stderr).
56 # Args: written to stderr
57 Abort() {
58         echo "unix2nt_ar Fatal Error in directory "`pwd` 1>&2
59         echo "   $*" 1>&2
60         echo "unix2nt_ar exiting..." 1>&2
61         End 1
62 }
63
64 ##############################################################################
65 #
66 # Parse & convert the arguments
67 #
68 ##############################################################################
69
70 [ $# -eq 1 ] && exit 0
71 [ $# -lt 2 ] && printUsage "Error: Not enough arguments given."
72
73 out=$1
74 shift
75 args="/out:$out $@"
76
77 "$LIB_CMD" $LIB_OPTS $args
78
79 if [ $? != 0 ]
80 then
81         Abort "Error executing" "$LIB_CMD" $LIB_OPTS $args
82 fi
83
84 exit 0