forked from msysgit/msysgit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
msys.bat
156 lines (137 loc) · 5.61 KB
/
msys.bat
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
@echo off
@setlocal
rem Copyright (C): 2001, 2002 Earnie Boyd
rem mailto:[email protected]
rem This file is part of Minimal SYStem
rem http://www.mingw.org/msys.shtml
rem
rem File: msys.bat
rem Revision: 2.0
rem Revision Date: April 17th, 2002
rem ember to set the "Start in:" field of the shortcut.
rem A value similar to C:\msys\1.0\bin is what the "Start in:" field needs
rem to represent.
rem this should let run MSYS shell on x64
if "%PROCESSOR_ARCHITECTURE%" == "AMD64" (
SET COMSPEC=%WINDIR%\SysWOW64\cmd.exe
)
rem ember value of GOTO: is used to know recursion has happened.
if "%1" == "GOTO:" goto %2
rem ember command.com only uses the first eight characters of the label.
set OS_VERSION="NT"
goto _WindowsNT
rem ember that we only execute here if we are in command.com.
:_Windows
set OS_VERSION="9x"
if "x%COMSPEC%" == "x" set COMSPEC=command.com
start %COMSPEC% /e:4096 /c %0 GOTO: _Resume %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
goto EOF
rem ember that we execute here if we recursed.
:_Resume
for %%F in (1 2 3) do shift
rem ember that we get here even in command.com.
:_WindowsNT
if "x%MSYSTEM%" == "x" set MSYSTEM=MINGW32
if "%1" == "MSYS" set MSYSTEM=MSYS
if NOT "x%DISPLAY%" == "x" set DISPLAY=
rem We here assume old behavior, to make sure that older platforms can still use
rem this batch file to start their MSys environment.
set BIN=""
if EXIST bin\nul set BIN=bin\
if EXIST %BIN%bash.exe goto startbash
if EXIST %BIN%rxvt.exe goto startrxvt
rem If we're not on win9x type OSs, lets try a little better at finding bash/rxvt
if "win%OS_VERSION%"=="win9x" goto failed
set BIN="%~dp0bin\"
if EXIST %BIN%bash.exe goto startbash
if EXIST %BIN%rxvt.exe goto startrxvt
:failed
echo Cannot find the rxvt.exe or bash.exe binary -- aborting.
pause
rem exit 1
rem we skip using exit 1 here, since it will close the console you were working on
rem which probably isn't what you wanted. If the bat file was run from a shortcut
rem the window will still close, like you would expect it to. Sorry, you cant test
rem for exit values anymore, but hey, you can just un-rem the line above then! :-)
goto EOF
rem If you don't want to use rxvt then rename the file rxvt.exe to something
rem else. Then bash.exe will be used instead.
:startrxvt
rem Setup the default colors for rxvt.
if "x%MSYSBGCOLOR%" == "x" set MSYSBGCOLOR=White
if "x%MSYSFGCOLOR%" == "x" set MSYSFGCOLOR=Black
if "x%MINGW32BGCOLOR%" == "x" set MINGW32BGCOLOR=LightYellow
if "x%MINGW32FGCOLOR%" == "x" set MINGW32FGCOLOR=Navy
if "%MSYSTEM%" == "MSYS" set BGCOLOR=%MSYSBGCOLOR%
if "%MSYSTEM%" == "MSYS" set FGCOLOR=%MSYSFGCOLOR%
if "%MSYSTEM%" == "MINGW32" set BGCOLOR=%MINGW32BGCOLOR%
if "%MSYSTEM%" == "MINGW32" set FGCOLOR=%MINGW32FGCOLOR%
start %COMSPEC% /c %BIN%rxvt -backspacekey -sl 2500 -fg %FGCOLOR% -bg %BGCOLOR% -sr -fn Courier-12 -tn msys -geometry 80x25 -e /bin/bash --login -i
exit
:startbash
call %COMSPEC% /c %BIN%bash --login -i
:EOF
rem ChangeLog:
rem 2002.03.07 Earnie Boyd mailto:[email protected]
rem * Move the @echo off to the top.
rem * Change the binmode setting to nobinmode.
rem * Remove the angle brackets around email address to workaround MS
rem buggy command processor.
rem
rem 2002.03.12 Earnie Boyd mailto:[email protected]
rem * Add filter logic to find rxvt.exe
rem
rem 2002.03.13 Earnie Boyd mailto:[email protected]
rem * Revert the nobinmode change.
rem
rem 2002.03.20 Earnie Boyd mailto:[email protected]
rem * Add logic for stating bash.
rem
rem 2002.04.11 Earnie Boyd mailto;[email protected]
rem * Add logic for setting MSYSTEM value based on parameter.
rem
rem 2002.04.15 Olivier Gautherot mailto:[email protected]
rem * Reduce number test conditions for finding an executable.
rem
rem 2002.04.15 Earnie Boyd mailto:[email protected]
rem * Unset DISPLAY if set before starting shell.
rem
rem 2002.04.16 Earnie Boyd mailto:[email protected]
rem * Remove use of DEFINED in conditional statments for variables for
rem command.com support.
rem * Add check for nonexistance of USERNAME variable for Win9x support.
rem
rem 2002.04.17 Earnie Boyd mailto:[email protected]
rem * Add foreground and background color defaults based on MSYSTEM value.
rem
rem 2002.04.22 Earnie Boyd mailto:[email protected]
rem * More Win 9x changes.
rem
rem 2002.05.04 Earnie Boyd mailto:[email protected]
rem * Remove the SET of USERNAME and HOME.
rem
rem 2002.11.18 Earnie Boyd mailto:[email protected]
rem * Add command.com detection and restart with a larger environment to
rem avoid errors on w9x.
rem Many thanks to Randy W. Sims mailto:[email protected].
rem See Randy's response to "RE: [Mingw-msys] Installation on WindowsME"
rem from 11/06/2002 in the archives of [email protected].
rem
rem 2002.11.19 Paul Garceau mailto:[email protected]
rem * Fix a typo: Change COMPSPEC to COMSPEC.
rem
rem 2002.11.25 Earnie Boyd mailto:[email protected]
rem * Remove the SET CYGWIN since it doesn't matter any longer.
rem
rem 2003.02.03 Earnie Boyd mailto:[email protected]
rem * Win9x doesn't like ``EXISTS dir'' so change it to ``EXISTS dir\nul''.
rem Thanks to Nicolas Weber mailto:[email protected].
rem
rem 2003.03.06 Earnie Boyd mailto:[email protected]
rem * Add -backspacekey switch to rxvt startup.
rem * Move RXVT color setup to startrxvt label
rem
rem 2004.01.30 Earnie Boyd mailto:[email protected]
rem * Add -geometry parameter to work around an off by one issue with
rem the default values.
rem Thanks to Dave Schuyler mailto:[email protected]