1 |
#!/bin/sh |
2 |
# $Id: vc4mips.sh 400 2024-11-03 05:19:42Z nishi $ |
3 |
# Wrapper for CL. VC6 sucks. |
4 |
|
5 |
outfile="a.out" |
6 |
dowhat="" |
7 |
options="/I../VC6Compat /D_NTSDK /Ddouble=long /DNEED_DIRECT" |
8 |
obj=0 |
9 |
win=0 |
10 |
source="" |
11 |
libraries="" |
12 |
link="" |
13 |
|
14 |
for i in "$@"; do |
15 |
if [ "$i" = "-o" ]; then |
16 |
dowhat="output" |
17 |
elif [ "$i" = "-I" ]; then |
18 |
dowhat="include" |
19 |
elif [ "$i" = "-c" ]; then |
20 |
options="$options /c" |
21 |
obj=1 |
22 |
elif [ "$i" = "-fPIC" ]; then |
23 |
: |
24 |
elif [ "$i" = "-g" ]; then |
25 |
: |
26 |
elif [ "$i" = "-std=c99" ]; then |
27 |
: |
28 |
elif [ "$i" = "-shared" ]; then |
29 |
options="$options /LD" |
30 |
elif [ "$i" = "-mwindows" ]; then |
31 |
win=1 |
32 |
elif [ "`echo "$i" | grep -Eo "^-D"`" = "-D" ]; then |
33 |
options="$options /`echo "$i" | sed "s/^-//g"`" |
34 |
elif [ "`echo "$i" | grep -Eo "^-l"`" = "-l" ]; then |
35 |
if [ "$i" = "-luser32" ]; then |
36 |
libraries="$libraries gdi32.lib" |
37 |
fi |
38 |
libraries="$libraries `echo "$i" | sed "s/^-l//g"`.lib" |
39 |
elif [ "$dowhat" = "output" ]; then |
40 |
dowhat="" |
41 |
outfile="$i" |
42 |
elif [ "$dowhat" = "include" ]; then |
43 |
dowhat="" |
44 |
options="$options /I$i" |
45 |
elif [ ! "`echo "$i" | grep -Eo "^."`" = "-" ]; then |
46 |
source="$source $i" |
47 |
fi |
48 |
done |
49 |
if [ "$obj" = "1" ]; then |
50 |
options="$options /Fo$outfile" |
51 |
else |
52 |
options="$options /Fe$outfile" |
53 |
fi |
54 |
if [ ! "$libraries" = "" ]; then |
55 |
link="/link /nodefaultlib:libc $libraries" |
56 |
fi |
57 |
if [ "$obj" = "0" ]; then |
58 |
if [ "$win" = "1" ]; then |
59 |
link="$link /SUBSYSTEM:windows" |
60 |
fi |
61 |
fi |
62 |
construct="clmips /nologo $options $source $link" |
63 |
echo "Run: $construct" |
64 |
$construct |