@echo off | |
@setlocal | |
rem Copyright (C): 2001, 2002 Earnie Boyd | |
rem mailto:earnie@users.sf.net | |
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:earnie@users.sf.net | |
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:earnie@users.sf.net | |
rem * Add filter logic to find rxvt.exe | |
rem | |
rem 2002.03.13 Earnie Boyd mailto:earnie@users.sf.net | |
rem * Revert the nobinmode change. | |
rem | |
rem 2002.03.20 Earnie Boyd mailto:earnie@users.sf.net | |
rem * Add logic for stating bash. | |
rem | |
rem 2002.04.11 Earnie Boyd mailto;earnie@users.sf.net | |
rem * Add logic for setting MSYSTEM value based on parameter. | |
rem | |
rem 2002.04.15 Olivier Gautherot mailto:olivier_gautherot@mentorg.com | |
rem * Reduce number test conditions for finding an executable. | |
rem | |
rem 2002.04.15 Earnie Boyd mailto:earnie@users.sf.net | |
rem * Unset DISPLAY if set before starting shell. | |
rem | |
rem 2002.04.16 Earnie Boyd mailto:earnie@users.sf.net | |
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:earnie@users.sf.net | |
rem * Add foreground and background color defaults based on MSYSTEM value. | |
rem | |
rem 2002.04.22 Earnie Boyd mailto:earnie@users.sf.net | |
rem * More Win 9x changes. | |
rem | |
rem 2002.05.04 Earnie Boyd mailto:earnie@users.sf.net | |
rem * Remove the SET of USERNAME and HOME. | |
rem | |
rem 2002.11.18 Earnie Boyd mailto:earnie@users.sf.net | |
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:RandyS@ThePierianSpring.org. | |
rem See Randy's response to "RE: [Mingw-msys] Installation on WindowsME" | |
rem from 11/06/2002 in the archives of mingw-msys@lists.sf.net. | |
rem | |
rem 2002.11.19 Paul Garceau mailto:pgarceau@attbi.com | |
rem * Fix a typo: Change COMPSPEC to COMSPEC. | |
rem | |
rem 2002.11.25 Earnie Boyd mailto:earnie@users.sf.net | |
rem * Remove the SET CYGWIN since it doesn't matter any longer. | |
rem | |
rem 2003.02.03 Earnie Boyd mailto:earnie@users.sf.net | |
rem * Win9x doesn't like ``EXISTS dir'' so change it to ``EXISTS dir\nul''. | |
rem Thanks to Nicolas Weber mailto:nicolasweber@gmx.de. | |
rem | |
rem 2003.03.06 Earnie Boyd mailto:earnie@users.sf.net | |
rem * Add -backspacekey switch to rxvt startup. | |
rem * Move RXVT color setup to startrxvt label | |
rem | |
rem 2004.01.30 Earnie Boyd mailto:earnie@users.sf.net | |
rem * Add -geometry parameter to work around an off by one issue with | |
rem the default values. | |
rem Thanks to Dave Schuyler mailto:parameter@users.sf.net |