~extension-hackers/globalmenu-extension/3.5

« back to all changes in this revision

Viewing changes to build/cygwin-wrapper

  • Committer: Chris Coulson
  • Date: 2011-08-05 17:37:02 UTC
  • Revision ID: chrisccoulson@ubuntu.com-20110805173702-n11ykbt0tdp5u07q
Refresh build system from FIREFOX_6_0b5_BUILD1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/sh
2
 
#
3
 
# Stupid wrapper to avoid win32 dospath/cygdrive issues
4
 
# Try not to spawn programs from within this file. If the stuff in here looks royally 
5
 
# confusing, see bug: http://bugzilla.mozilla.org/show_bug.cgi?id=206643
6
 
# and look at the older versions of this file that are easier to read, but
7
 
# do basically the same thing
8
 
#
9
 
 
10
 
prog=$1
11
 
shift
12
 
if test -z "$prog"; then
13
 
    exit 0
14
 
fi
15
 
 
16
 
# If $CYGDRIVE_MOUNT was not set in configure, give $mountpoint the results of mount -p
17
 
mountpoint=$CYGDRIVE_MOUNT
18
 
if test -z "$mountpoint"; then
19
 
    mountpoint=`mount -p`
20
 
    if test -z "$mountpoint"; then
21
 
       print "Cannot determine cygwin mount points. Exiting"
22
 
       exit 1
23
 
    fi
24
 
fi
25
 
 
26
 
# Delete everything but "/cygdrive" (or other mountpoint) from mount=`mount -p`
27
 
mountpoint=${mountpoint#*/}
28
 
mountpoint=/${mountpoint%%[!A-Za-z0-9_]*}
29
 
mountpoint=${mountpoint%/}
30
 
 
31
 
args=""
32
 
up=""
33
 
if test "${prog}" = "-up"; then
34
 
    up=1
35
 
    prog=${1}
36
 
    shift
37
 
fi
38
 
 
39
 
process=1
40
 
 
41
 
# Convert the mountpoint in parameters to Win32 filenames
42
 
# For instance: /cygdrive/c/foo -> c:/foo
43
 
for i in "${@}"
44
 
do
45
 
    if test "${i}" = "-wrap"; then
46
 
        process=1
47
 
    else
48
 
        if test "${i}" = "-nowrap"; then
49
 
            process=
50
 
        else
51
 
            if test -n "${process}"; then
52
 
                if test -n "${up}"; then
53
 
                    pathname=${i#-I[a-zA-Z]:/}
54
 
                    if ! test "${pathname}" = "${i}"; then
55
 
                        no_i=${i#-I}
56
 
                        driveletter=${no_i%%:*}
57
 
                        i=-I${mountpoint}/${driveletter}/${pathname}
58
 
                    fi
59
 
                else
60
 
                    eval 'leader=${i%%'${mountpoint}'/[a-zA-Z]/*}'
61
 
                    if ! test "${leader}" = "${i}"; then
62
 
                        eval 'pathname=${i#'${leader}${mountpoint}'/[a-zA-Z]/}'
63
 
                        eval 'no_mountpoint=${i#'${leader}${mountpoint}'/}'
64
 
                        driveletter=${no_mountpoint%%/*}
65
 
                        i=${leader}${driveletter}:/${pathname}
66
 
                    fi
67
 
                fi
68
 
            fi
69
 
 
70
 
            args="${args} ${i}"
71
 
        fi
72
 
    fi
73
 
done
74
 
 
75
 
exec $prog $args