File: cygwin-wrapper

package info (click to toggle)
ldapjdk 5.3.0%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 9,756 kB
  • sloc: ansic: 44,727; java: 39,706; xml: 7,623; sh: 4,497; perl: 3,774; makefile: 1,680; cpp: 979
file content (85 lines) | stat: -rwxr-xr-x 2,583 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/bin/sh
#
# Stupid wrapper to avoid win32 dospath/cygdrive issues
# Try not to spawn programs from within this file. If the stuff in here looks royally 
# confusing, see bug: http://bugzilla.mozilla.org/show_bug.cgi?id=206643
# and look at the older versions of this file that are easier to read, but
# do basically the same thing
#

prog=$1
shift
if test -z "$prog"; then
    exit 0
fi

# If $CYGDRIVE_MOUNT was not set in configure, give $mountpoint the results of mount -p
mountpoint=$CYGDRIVE_MOUNT
if test -z "$mountpoint"; then
    mountpoint=`mount -p`
    if test -z "$mountpoint"; then
       print "Cannot determine cygwin mount points. Exiting"
       exit 1
    fi
fi

# Delete everything but "/cygdrive" (or other mountpoint) from mount=`mount -p`
mountpoint=${mountpoint#*/}
mountpoint=/${mountpoint%%[!A-Za-z0-9_]*}
mountpoint=${mountpoint%/}

args=""
up=""
if test "${prog}" = "-up"; then
    up=1
    prog=${1}
    shift
fi

process=1

# Convert the mountpoint in parameters to Win32 filenames
# For instance: /cygdrive/c/foo -> c:/foo
for i in "${@}"
do
    if test "${i}" = "-wrap"; then
        process=1
    else
        if test "${i}" = "-nowrap"; then
            process=
        else
            if test -n "${process}"; then
                if test -n "${up}"; then
                    pathname=${i#-I[a-zA-Z]:/}
                    if ! test "${pathname}" = "${i}"; then
                        no_i=${i#-I}
                        driveletter=${no_i%%:*}
                        i=-I${mountpoint}/${driveletter}/${pathname}
                    elif test "${pathname:0:1}" = "/" -a -e "${pathname}" ; then
			i=-I`cygpath -m "${pathname}"`
                    fi
                else
                    eval 'leader=${i%%'${mountpoint}'/[a-zA-Z]/*}'
                    if ! test "${leader}" = "${i}"; then
                        eval 'pathname=${i#'${leader}${mountpoint}'/[a-zA-Z]/}'
                        eval 'no_mountpoint=${i#'${leader}${mountpoint}'/}'
                        driveletter=${no_mountpoint%%/*}
                        i=${leader}${driveletter}:/${pathname}
                    elif test "${i:0:1}" = "/" -a -e "${i}" ; then
			i=`cygpath -m "${i}"`
		    elif test "${i:0:2}" = "-I" -a -e "${i:2}" ; then
			i=/I`cygpath -m "${i:2}"`
		    elif test "${i:0:2}" = "-L" -a -e "${i:2}" ; then
			i=/L`cygpath -m "${i:2}"`
		    elif test "${i:0:5}" = "-DEF:" -a -e "${i:5}" ; then
			i=/DEF:`cygpath -m "${i:5}"`
		    fi
                fi
            fi

            args="${args} ${i}"
        fi
    fi
done

exec $prog $args