set TCLDIR=..\..\..\tcl8.5.15
set VCVERSION=VC9
set INCLUDEOPT=-I ..\..\generic\ -I ..\..\isaac\ -I %TCLDIR%\generic

set PACKAGE_NAME=Memchan
set PACKAGE_NAME_LETTER=memchan
set PACKAGE_VERSION=2.3

if %1==Release goto release
if %1==Debug goto debug

:release
set OPT=-O2
set CONFIGURATION=Release
set DLLSURFIX=t
set SLIBSURFIX=ts
goto bitmode

:debug
set OPT=-ZI
set CONFIGURATION=Debug
set DLLSURFIX=tg
set SLIBSURFIX=tsg

:bitmode
if %2==x86 goto x86
if %2==x64 goto x64

:x86
set OUTDIR=%CONFIGURATION%_%VCVERSION%
set INSTALLDIR=..\..\..\inst_x86
goto build

:x64
set OUTDIR=%CONFIGURATION%_AMD64_%VCVERSION%
set INSTALLDIR=..\..\..\inst_x64


:build
set TCLLIBNAME=tcl85%DLLSURFIX%.lib tclstub85.lib
mkdir %OUTDIR%
cd %OUTDIR%

rem threads,static
cl %OPT% -DPACKAGE_NAME="\"%PACKAGE_NAME%\"" -DPACKAGE_VERSION="\"%PACKAGE_VERSION%\"" -DBUILD_Memchan -DSTATIC_BUILD -c ..\..\isaac\*.c ..\..\generic\*.c %INCLUDEOPT%
lib -OUT:%PACKAGE_NAME%%SLIBSURFIX%.lib *.obj

rem threads
cl %OPT% -LD -DPACKAGE_NAME="\"%PACKAGE_NAME%\"" -DPACKAGE_VERSION="\"%PACKAGE_VERSION%\"" -DBUILD_Memchan ..\..\isaac\*.c ..\..\generic\*.c %INCLUDEOPT% /link /OUT:%PACKAGE_NAME%%DLLSURFIX%.dll /IMPLIB:%PACKAGE_NAME%%DLLSURFIX%.lib /LIBPATH:%TCLDIR%\win\%OUTDIR%\ %TCLLIBNAME%

rem install

mkdir %INSTALLDIR%\lib\%PACKAGE_NAME%%PACKAGE_VERSION%
copy %PACKAGE_NAME%%DLLSURFIX%.dll %INSTALLDIR%\lib\%PACKAGE_NAME%%PACKAGE_VERSION%
copy *.lib %INSTALLDIR%\lib
echo package ifneeded %PACKAGE_NAME_LETTER% %PACKAGE_VERSION% [list load [file join $dir %PACKAGE_NAME%.dll] %PACKAGE_NAME_LETTER%]  > %INSTALLDIR%\lib\%PACKAGE_NAME%%PACKAGE_VERSION%\pkgIndex.tcl

cd ..
