@echo off
rem Update the DLL using MinGW.
rem If the old DLL is in use, rename it to avoid compilation error.
rem
rem usage: update-dll-mingw [arch] [makeopts]
rem
rem [arch] is 32 or 64. If omitted, it is automatically detected from the
rem %PROCESSOR_ARCHITECTURE% environment.
rem [makeopts] is option(s) for mingw32-make.
rem
rem
rem Sample .vimrc:
rem
rem NeoBundle 'Shougo/vimproc.vim', {
rem \ 'build' : {
rem \ 'windows' : 'tools\\update-dll-mingw',
rem \ 'cygwin' : 'make -f make_cygwin.mak',
rem \ 'mac' : 'make -f make_mac.mak',
rem \ 'linux' : 'make',
rem \ 'unix' : 'gmake',
rem \ },
rem \ }
if "%1"=="32" (
set vimproc_arch=%1
shift
) else if "%1"=="64" (
set vimproc_arch=%1
shift
) else (
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
set vimproc_arch=64
) else (
set vimproc_arch=32
)
)
set vimproc_dllname=vimproc_win%vimproc_arch%.dll
where mingw32-make >nul 2>&1
if ERRORLEVEL 1 (
echo mingw32-make not found.
goto :EOF
)
mingw32-make -f make_mingw%vimproc_arch%.mak %1 %2 %3 %4 %5 %6 %7 %8 %9
if ERRORLEVEL 1 (
rem Build failed.
rem Try to delete old DLLs.
if exist lib\%vimproc_dllname%.old del lib\%vimproc_dllname%.old
if exist lib\%vimproc_dllname% del lib\%vimproc_dllname%
rem If the DLL couldn't delete (may be it is in use), rename it.
if exist lib\%vimproc_dllname% ren lib\%vimproc_dllname% %vimproc_dllname%.old
mingw32-make -f make_mingw%vimproc_arch%.mak %1 %2 %3 %4 %5 %6 %7 %8 %9
)