@echo off
cls

if (%1)==() goto test_command
if (%1)==(start) goto start
goto endok

:test_command
if (%COMSPEC%)==() goto no_command
%COMSPEC% /E:9216 /C %0 start %1 %2 %3
goto endok

:no_command
echo No Command Interpreter found
goto endok

:start
call clean.bat
computil SetupD09
if exist setenv.bat call setenv.bat

if (%NDD09%)==() goto enderror
if (%NDWINSYS%)==() goto enderror

if not exist ..\V09\*.* md ..\V09 >nul
if exist ..\V09\*.* call clean.bat ..\V09\

copy *.pas ..\V09 > nul
copy *.dpk ..\V09 > nul
copy *.obj ..\V09 > nul
copy *.inc ..\V09 > nul
copy *.res ..\V09 > nul
copy *.dcr ..\V09 > nul
copy *.rsp ..\V09 > nul

cd ..\V09
REM ***************************************************
REM Compile Runtime Package Indy90
REM ***************************************************
REM IdCompressionIntercept.pas has to be compiled separately because of a DCC32 bug. The bug also appears when doing a full build.
%NDD09%\bin\dcc32.exe IdCompressionIntercept.pas /M /H /W /JPHN -$d-l-n+p+r-s-t-w-y- %2 %3 %4

%NDD09%\bin\dcc32.exe Indy90.dpk /M /H /W /JPHN -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror	

%NDD09%\bin\dcc32.exe IdDummyUnit.pas /LIndy90.dcp /M /H /W /JPHN -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
del IdDummyUnit.dcu >nul
del IdDummyUnit.hpp >nul
del IdDummyUnit.obj >nul

%NDD09%\bin\dcc32.exe Indy90.dpk /M /H /W -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror
copy Indy90.bpl %NDWINSYS% >nul
del Indy90.bpl > nul

REM ***************************************************
REM Create .LIB file
REM ***************************************************
echo Creating Indy90.LIB file, please wait...
if exist %NDD09%\bin\tlib.exe %NDD09%\bin\tlib.exe Indy90.lib /P32 @IndyWin32.rsp >nul
if exist ..\V09\Indy90.bak del ..\V09\Indy90.bak >nul

REM ***************************************************
REM Compile Design-time Package RPDT30
REM ***************************************************
%NDD09%\bin\dcc32.exe dclIndy90.dpk /H /W /N..\V09 /LIndy90.dcp -$d-l-n+p+r-s-t-w-y- %2 %3 %4
if errorlevel 1 goto enderror

REM ***************************************************
REM Clean-up
REM ***************************************************
del dclIndy90.dcu >nul
del dclIndy90.dcp >nul

del Indy90.dcu >nul
del *.pas > nul
del *.dpk > nul
del *.inc > nul
del *.res > nul
del *.dcr > nul
del *.rsp > nul
REM ***************************************************
REM Design-time only unit .DCU's are not needed.
REM ***************************************************
if exist IdAbout.dcu del IdAbout.dcu >nul
if exist IdDsnBaseCmpEdt.dcu del IdDsnBaseCmpEdt.dcu >nul
if exist IdDsnPropEdBinding.dcu del IdDsnPropEdBinding.dcu >nul
if exist IdDsnRegister.dcu del IdDsnRegister.dcu >nul
if exist IdRegister.dcu del IdRegister.dcu >nul

goto endok
:enderror
call clean
echo Error!
:endok
cd ..\Source

