@echo off
:-
:-  Boom builder for http 1.0
:-  Generated by iMatix Boom from standard.pwl
:-  
:-  Copyright (c) 1996-2009 iMatix Corporation
:-  All rights reserved.
:-  
:-  This file is licensed under the BSD license as follows:
:-  
:-  Redistribution and use in source and binary forms, with or without
:-  modification, are permitted provided that the following conditions
:-  are met:
:-  
:-  * Redistributions of source code must retain the above copyright
:-    notice, this list of conditions and the following disclaimer.
:-  * Redistributions in binary form must reproduce the above copyright
:-    notice, this list of conditions and the following disclaimer in
:-    the documentation and/or other materials provided with the
:-    distribution.
:-  * Neither the name of iMatix Corporation nor the names of its
:-    contributors may be used to endorse or promote products derived
:-    from this software without specific prior written permission.
:-  
:-  THIS SOFTWARE IS PROVIDED BY IMATIX CORPORATION "AS IS" AND ANY
:-  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
:-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
:-  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IMATIX CORPORATION BE
:-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
:-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
:-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
:-  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
:-  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
:-  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
:-  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
:-
:-  Start CMD.EXE version detection
verify other 2>nul
setlocal enableextensions
if errorlevel 0 goto __cmd_ok
echo %0: This command requires command extensions version 2 in CMD.EXE.  
echo %0: Please use a supported system (Windows 2000 or newer).
exit
:__cmd_ok
setlocal enabledelayedexpansion
:-  End CMD.EXE version detection
goto :init
:-
:-  Subroutine: boom_model_init
:-  Initialises BOOM_MODEL to default if not set
:-  Expands BOOM_MODEL components into individual environment variables
:-
:boom_model_init
if "!BOOM_MODEL!"=="" (
    set BOOM_MODEL=release,st
)
set BOOM_MODEL__PLACEHOLDER=1
for /f "usebackq delims==" %%v in (`set BOOM_MODEL_`) do set %%v=
set BOOM_MODEL__PLACEHOLDER=
for %%m in (!BOOM_MODEL!) do set BOOM_MODEL_%%m=1
:-  If the user set BOOM_MODEL but did not include release/debug or st/mt
:-  set these to defaults.
if not "!BOOM_MODEL_RELEASE!"=="1" (
    if not "!BOOM_MODEL_DEBUG!"=="1" (
        set BOOM_MODEL_RELEASE=1
        set BOOM_MODEL=!BOOM_MODEL!,release
    )
)
if not "!BOOM_MODEL_ST!"=="1" (
    if not "!BOOM_MODEL_MT!"=="1" (
        set BOOM_MODEL_ST=1
        set BOOM_MODEL=!BOOM_MODEL!,st
    )
)
goto :eof
:init
setlocal
:-
:-  Set environment variables to point to install location
:-  Start by using final IBASE, then handle -install path
set self=%0
set MY_VERSION=1.0
set OLDPATH=!PATH!
set OLDPERLLIB=!PERLLIB!
if .!IBASE!==. (
    echo boom E: [http]: The IBASE variable is not set.            Please set it to the location where http should be installed.
    exit /b 1
)
if .%1==.-v (
    set BOOM_TRACE=1
    shift
)
call :boom_model_init
if .%1==.-install goto tempinst
:-  Normal use, use IBASE
    set PATH=!IBASE!\bin;!PATH!
    set PERLLIB=!IBASE!\bin;!PERLLIB!
    set INCDIR_ALT=!IBASE!\include
    set _INSTALL_ROOT=!IBASE!
    goto process

:tempinst
:-  Building product, we use -install directory first, then IBASE
    if not exist %2 (
       echo "Invalid command syntax - please contact imatix-tech"
       exit /b 1
    )
    pushd %2
    set _LOCAL_BASE=!cd!
    popd
    set PATH=!_LOCAL_BASE!\bin;!IBASE!\bin;!PATH!
    set PERLLIB=!_LOCAL_BASE!\bin;!IBASE!\bin;!PERLLIB!
    set INCDIR_ALT=!_LOCAL_BASE!\include;!IBASE!\include
    set _INSTALL_ROOT=!_LOCAL_BASE!
    shift
    shift
    goto process

:batch
    shift

:process
    set state=initial
    set event=ok
    set debug=0
    goto s_!state!

:---------------------------   BUILD BINARY FILES   ---------------------------

:a_build_binary_files
    goto :eof

:--------------------------   BUILD SOURCE PACKAGES   -------------------------

:a_build_source_packages
   if exist _package.lst del _package.lst
    if exist http\version.h echo http\version.h>>_package.lst
    if exist http\http_config.opf echo http\http_config.opf>>_package.lst
    if exist http\http_main.inc echo http\http_main.inc>>_package.lst
    if exist http\http_address.icl echo http\http_address.icl>>_package.lst
    if exist http\http_address_table.icl echo http\http_address_table.icl>>_package.lst
    if exist http\http_request.icl echo http\http_request.icl>>_package.lst
    if exist http\http_response.icl echo http\http_response.icl>>_package.lst
    if exist http\http_driver_module.icl echo http\http_driver_module.icl>>_package.lst
    if exist http\http_access_module.icl echo http\http_access_module.icl>>_package.lst
    if exist http\http_driver_context.icl echo http\http_driver_context.icl>>_package.lst
    if exist http\http_access_context.icl echo http\http_access_context.icl>>_package.lst
    if exist http\http_driver_file.icl echo http\http_driver_file.icl>>_package.lst
    if exist http\http_driver_cgi.icl echo http\http_driver_cgi.icl>>_package.lst
    if exist http\http_driver_null.icl echo http\http_driver_null.icl>>_package.lst
    if exist http\http_access_logger.icl echo http\http_access_logger.icl>>_package.lst
    if exist http\http_access_policy.icl echo http\http_access_policy.icl>>_package.lst
    if exist http\http_access_refresh.icl echo http\http_access_refresh.icl>>_package.lst
    if exist http\http_access_dos.icl echo http\http_access_dos.icl>>_package.lst
    if exist http\http_refresh.pl echo http\http_refresh.pl>>_package.lst
    if exist http\http_agent.smt echo http\http_agent.smt>>_package.lst
    if exist http\http_server.icl echo http\http_server.icl>>_package.lst
    if exist http\http.icl echo http\http.icl>>_package.lst
    if exist http\http_static.rc echo http\http_static.rc>>_package.lst
    if exist http\http_base.cfg echo http\http_base.cfg>>_package.lst
    if exist http\http_base.css echo http\http_base.css>>_package.lst
    if exist http\httpd.c echo http\httpd.c>>_package.lst
    if exist http\prelude.pdl echo http\prelude.pdl>>_package.lst
    if exist http\license.gpl echo http\license.gpl>>_package.lst
    if exist http\project.pdl echo http\project.pdl>>_package.lst
    if exist http\readme.txt echo http\readme.txt>>_package.lst
    if exist http\http_config.icl echo http\http_config.icl>>_package.lst
    if exist http\http_config_test.c echo http\http_config_test.c>>_package.lst
    if exist http\http_config.h echo http\http_config.h>>_package.lst
    if exist http\http_config.c echo http\http_config.c>>_package.lst
    if exist http\http_config.txt echo http\http_config.txt>>_package.lst
    if exist http\http_address_test.c echo http\http_address_test.c>>_package.lst
    if exist http\http_address.h echo http\http_address.h>>_package.lst
    if exist http\http_address.c echo http\http_address.c>>_package.lst
    if exist http\http_address_table_test.c echo http\http_address_table_test.c>>_package.lst
    if exist http\http_address_table.h echo http\http_address_table.h>>_package.lst
    if exist http\http_address_table.c echo http\http_address_table.c>>_package.lst
    if exist http\http_request_test.c echo http\http_request_test.c>>_package.lst
    if exist http\http_request.h echo http\http_request.h>>_package.lst
    if exist http\http_request.c echo http\http_request.c>>_package.lst
    if exist http\http_response_test.c echo http\http_response_test.c>>_package.lst
    if exist http\http_response.h echo http\http_response.h>>_package.lst
    if exist http\http_response.c echo http\http_response.c>>_package.lst
    if exist http\http_driver_module_front.icl echo http\http_driver_module_front.icl>>_package.lst
    if exist http\http_driver_module_back.icl echo http\http_driver_module_back.icl>>_package.lst
    if exist http\http_driver_module_test.c echo http\http_driver_module_test.c>>_package.lst
    if exist http\http_driver_module.h echo http\http_driver_module.h>>_package.lst
    if exist http\http_driver_module.c echo http\http_driver_module.c>>_package.lst
    if exist http\http_access_module_front.icl echo http\http_access_module_front.icl>>_package.lst
    if exist http\http_access_module_back.icl echo http\http_access_module_back.icl>>_package.lst
    if exist http\http_access_module_test.c echo http\http_access_module_test.c>>_package.lst
    if exist http\http_access_module.h echo http\http_access_module.h>>_package.lst
    if exist http\http_access_module.c echo http\http_access_module.c>>_package.lst
    if exist http\http_driver_context_test.c echo http\http_driver_context_test.c>>_package.lst
    if exist http\http_driver_context.h echo http\http_driver_context.h>>_package.lst
    if exist http\http_driver_context.c echo http\http_driver_context.c>>_package.lst
    if exist http\http_access_context_test.c echo http\http_access_context_test.c>>_package.lst
    if exist http\http_access_context.h echo http\http_access_context.h>>_package.lst
    if exist http\http_access_context.c echo http\http_access_context.c>>_package.lst
    if exist http\http_driver_file_agent.smt echo http\http_driver_file_agent.smt>>_package.lst
    if exist http\http_driver_file_agent.h echo http\http_driver_file_agent.h>>_package.lst
    if exist http\http_driver_file_agent.c echo http\http_driver_file_agent.c>>_package.lst
    if exist http\http_driver_file_test.c echo http\http_driver_file_test.c>>_package.lst
    if exist http\http_driver_file.h echo http\http_driver_file.h>>_package.lst
    if exist http\http_driver_file.c echo http\http_driver_file.c>>_package.lst
    if exist http\http_driver_cgi_agent.smt echo http\http_driver_cgi_agent.smt>>_package.lst
    if exist http\http_driver_cgi_agent.h echo http\http_driver_cgi_agent.h>>_package.lst
    if exist http\http_driver_cgi_agent.c echo http\http_driver_cgi_agent.c>>_package.lst
    if exist http\http_driver_cgi_test.c echo http\http_driver_cgi_test.c>>_package.lst
    if exist http\http_driver_cgi.h echo http\http_driver_cgi.h>>_package.lst
    if exist http\http_driver_cgi.c echo http\http_driver_cgi.c>>_package.lst
    if exist http\http_driver_null_agent.smt echo http\http_driver_null_agent.smt>>_package.lst
    if exist http\http_driver_null_agent.h echo http\http_driver_null_agent.h>>_package.lst
    if exist http\http_driver_null_agent.c echo http\http_driver_null_agent.c>>_package.lst
    if exist http\http_driver_null_test.c echo http\http_driver_null_test.c>>_package.lst
    if exist http\http_driver_null.h echo http\http_driver_null.h>>_package.lst
    if exist http\http_driver_null.c echo http\http_driver_null.c>>_package.lst
    if exist http\http_access_logger_agent.smt echo http\http_access_logger_agent.smt>>_package.lst
    if exist http\http_access_logger_agent.h echo http\http_access_logger_agent.h>>_package.lst
    if exist http\http_access_logger_agent.c echo http\http_access_logger_agent.c>>_package.lst
    if exist http\http_access_logger_test.c echo http\http_access_logger_test.c>>_package.lst
    if exist http\http_access_logger.h echo http\http_access_logger.h>>_package.lst
    if exist http\http_access_logger.c echo http\http_access_logger.c>>_package.lst
    if exist http\http_access_policy_agent.smt echo http\http_access_policy_agent.smt>>_package.lst
    if exist http\http_access_policy_agent.h echo http\http_access_policy_agent.h>>_package.lst
    if exist http\http_access_policy_agent.c echo http\http_access_policy_agent.c>>_package.lst
    if exist http\http_access_policy_test.c echo http\http_access_policy_test.c>>_package.lst
    if exist http\http_access_policy.h echo http\http_access_policy.h>>_package.lst
    if exist http\http_access_policy.c echo http\http_access_policy.c>>_package.lst
    if exist http\http_access_refresh_agent.smt echo http\http_access_refresh_agent.smt>>_package.lst
    if exist http\http_access_refresh_agent.h echo http\http_access_refresh_agent.h>>_package.lst
    if exist http\http_access_refresh_agent.c echo http\http_access_refresh_agent.c>>_package.lst
    if exist http\http_access_refresh_test.c echo http\http_access_refresh_test.c>>_package.lst
    if exist http\http_access_refresh.h echo http\http_access_refresh.h>>_package.lst
    if exist http\http_access_refresh.c echo http\http_access_refresh.c>>_package.lst
    if exist http\http_access_dos_agent.smt echo http\http_access_dos_agent.smt>>_package.lst
    if exist http\http_access_dos_agent.h echo http\http_access_dos_agent.h>>_package.lst
    if exist http\http_access_dos_agent.c echo http\http_access_dos_agent.c>>_package.lst
    if exist http\http_access_dos_test.c echo http\http_access_dos_test.c>>_package.lst
    if exist http\http_access_dos.h echo http\http_access_dos.h>>_package.lst
    if exist http\http_access_dos.c echo http\http_access_dos.c>>_package.lst
    if exist http\http_agent.h echo http\http_agent.h>>_package.lst
    if exist http\http_agent.c echo http\http_agent.c>>_package.lst
    if exist http\http_server_agent.smt echo http\http_server_agent.smt>>_package.lst
    if exist http\http_server_agent.h echo http\http_server_agent.h>>_package.lst
    if exist http\http_server_agent.c echo http\http_server_agent.c>>_package.lst
    if exist http\http_server_test.c echo http\http_server_test.c>>_package.lst
    if exist http\http_server.h echo http\http_server.h>>_package.lst
    if exist http\http_server.c echo http\http_server.c>>_package.lst
    if exist http\http.h echo http\http.h>>_package.lst
    if exist http\http.c echo http\http.c>>_package.lst
    if exist http\http_static.icl echo http\http_static.icl>>_package.lst
    if exist http\http_static_test.c echo http\http_static_test.c>>_package.lst
    if exist http\http_static.h echo http\http_static.h>>_package.lst
    if exist http\http_static.c echo http\http_static.c>>_package.lst
    if exist http\stamp_generate echo http\stamp_generate>>_package.lst
    if exist http\configure echo http\configure>>_package.lst
    if exist http\Makefile.unix echo http\Makefile.unix>>_package.lst
    if exist http\boomake echo http\boomake>>_package.lst
    if exist http\configure.bat echo http\configure.bat>>_package.lst
    if exist http\Makefile.win32 echo http\Makefile.win32>>_package.lst
    if exist http\boomake.bat echo http\boomake.bat>>_package.lst
    if exist http\boomakew.bat echo http\boomakew.bat>>_package.lst
    if exist http\libhttp.vcproj echo http\libhttp.vcproj>>_package.lst
    if exist http\webpages\default.html echo http\webpages\default.html>>_package.lst
    if exist http\webpages\default.css echo http\webpages\default.css>>_package.lst
    echo "Source package successfully generated">stamp_source
    echo "stamp_source">>_package.lst
    echo boom I: [http]: Building http-!MY_VERSION!-src.zip...
    zip  -rq _package -@<_package.lst
    unzip -q _package -d http-!MY_VERSION!
    if exist  http-!MY_VERSION!-src.zip del http-!MY_VERSION!-src.zip
    zip -rmq http-!MY_VERSION!-src.zip http-!MY_VERSION!
    del _package.zip
    del _package.lst
    del stamp_source
    goto :eof

:----------------------   CHECK ALL SOURCE FILES EXIST   ----------------------

:a_check_all_source_files_exist
    if not exist version.h (
        echo boom E: [http]: version.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.opf (
        echo boom E: [http]: http_config.opf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_main.inc (
        echo boom E: [http]: http_main.inc is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address.icl (
        echo boom E: [http]: http_address.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_table.icl (
        echo boom E: [http]: http_address_table.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_request.icl (
        echo boom E: [http]: http_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_response.icl (
        echo boom E: [http]: http_response.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module.icl (
        echo boom E: [http]: http_driver_module.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module.icl (
        echo boom E: [http]: http_access_module.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_context.icl (
        echo boom E: [http]: http_driver_context.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_context.icl (
        echo boom E: [http]: http_access_context.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file.icl (
        echo boom E: [http]: http_driver_file.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi.icl (
        echo boom E: [http]: http_driver_cgi.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null.icl (
        echo boom E: [http]: http_driver_null.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger.icl (
        echo boom E: [http]: http_access_logger.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy.icl (
        echo boom E: [http]: http_access_policy.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh.icl (
        echo boom E: [http]: http_access_refresh.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos.icl (
        echo boom E: [http]: http_access_dos.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_refresh.pl (
        echo boom E: [http]: http_refresh.pl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_agent.smt (
        echo boom E: [http]: http_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server.icl (
        echo boom E: [http]: http_server.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http.icl (
        echo boom E: [http]: http.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static.rc (
        echo boom E: [http]: http_static.rc is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_base.cfg (
        echo boom E: [http]: http_base.cfg is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_base.css (
        echo boom E: [http]: http_base.css is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist httpd.c (
        echo boom E: [http]: httpd.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [http]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [http]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.icl (
        echo boom E: [http]: http_config.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config_test.c (
        echo boom E: [http]: http_config_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.h (
        echo boom E: [http]: http_config.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.c (
        echo boom E: [http]: http_config.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.txt (
        echo boom E: [http]: http_config.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_test.c (
        echo boom E: [http]: http_address_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address.h (
        echo boom E: [http]: http_address.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address.c (
        echo boom E: [http]: http_address.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_table_test.c (
        echo boom E: [http]: http_address_table_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_table.h (
        echo boom E: [http]: http_address_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_table.c (
        echo boom E: [http]: http_address_table.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_request_test.c (
        echo boom E: [http]: http_request_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_request.h (
        echo boom E: [http]: http_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_request.c (
        echo boom E: [http]: http_request.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_response_test.c (
        echo boom E: [http]: http_response_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_response.h (
        echo boom E: [http]: http_response.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_response.c (
        echo boom E: [http]: http_response.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module_front.icl (
        echo boom E: [http]: http_driver_module_front.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module_back.icl (
        echo boom E: [http]: http_driver_module_back.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module_test.c (
        echo boom E: [http]: http_driver_module_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module.h (
        echo boom E: [http]: http_driver_module.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module.c (
        echo boom E: [http]: http_driver_module.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module_front.icl (
        echo boom E: [http]: http_access_module_front.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module_back.icl (
        echo boom E: [http]: http_access_module_back.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module_test.c (
        echo boom E: [http]: http_access_module_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module.h (
        echo boom E: [http]: http_access_module.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module.c (
        echo boom E: [http]: http_access_module.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_context_test.c (
        echo boom E: [http]: http_driver_context_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_context.h (
        echo boom E: [http]: http_driver_context.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_context.c (
        echo boom E: [http]: http_driver_context.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_context_test.c (
        echo boom E: [http]: http_access_context_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_context.h (
        echo boom E: [http]: http_access_context.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_context.c (
        echo boom E: [http]: http_access_context.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file_agent.smt (
        echo boom E: [http]: http_driver_file_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file_agent.h (
        echo boom E: [http]: http_driver_file_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file_agent.c (
        echo boom E: [http]: http_driver_file_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file_test.c (
        echo boom E: [http]: http_driver_file_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file.h (
        echo boom E: [http]: http_driver_file.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file.c (
        echo boom E: [http]: http_driver_file.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi_agent.smt (
        echo boom E: [http]: http_driver_cgi_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi_agent.h (
        echo boom E: [http]: http_driver_cgi_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi_agent.c (
        echo boom E: [http]: http_driver_cgi_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi_test.c (
        echo boom E: [http]: http_driver_cgi_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi.h (
        echo boom E: [http]: http_driver_cgi.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi.c (
        echo boom E: [http]: http_driver_cgi.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null_agent.smt (
        echo boom E: [http]: http_driver_null_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null_agent.h (
        echo boom E: [http]: http_driver_null_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null_agent.c (
        echo boom E: [http]: http_driver_null_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null_test.c (
        echo boom E: [http]: http_driver_null_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null.h (
        echo boom E: [http]: http_driver_null.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null.c (
        echo boom E: [http]: http_driver_null.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger_agent.smt (
        echo boom E: [http]: http_access_logger_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger_agent.h (
        echo boom E: [http]: http_access_logger_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger_agent.c (
        echo boom E: [http]: http_access_logger_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger_test.c (
        echo boom E: [http]: http_access_logger_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger.h (
        echo boom E: [http]: http_access_logger.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger.c (
        echo boom E: [http]: http_access_logger.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy_agent.smt (
        echo boom E: [http]: http_access_policy_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy_agent.h (
        echo boom E: [http]: http_access_policy_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy_agent.c (
        echo boom E: [http]: http_access_policy_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy_test.c (
        echo boom E: [http]: http_access_policy_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy.h (
        echo boom E: [http]: http_access_policy.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy.c (
        echo boom E: [http]: http_access_policy.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh_agent.smt (
        echo boom E: [http]: http_access_refresh_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh_agent.h (
        echo boom E: [http]: http_access_refresh_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh_agent.c (
        echo boom E: [http]: http_access_refresh_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh_test.c (
        echo boom E: [http]: http_access_refresh_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh.h (
        echo boom E: [http]: http_access_refresh.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh.c (
        echo boom E: [http]: http_access_refresh.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos_agent.smt (
        echo boom E: [http]: http_access_dos_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos_agent.h (
        echo boom E: [http]: http_access_dos_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos_agent.c (
        echo boom E: [http]: http_access_dos_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos_test.c (
        echo boom E: [http]: http_access_dos_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos.h (
        echo boom E: [http]: http_access_dos.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos.c (
        echo boom E: [http]: http_access_dos.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_agent.h (
        echo boom E: [http]: http_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_agent.c (
        echo boom E: [http]: http_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server_agent.smt (
        echo boom E: [http]: http_server_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server_agent.h (
        echo boom E: [http]: http_server_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server_agent.c (
        echo boom E: [http]: http_server_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server_test.c (
        echo boom E: [http]: http_server_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server.h (
        echo boom E: [http]: http_server.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server.c (
        echo boom E: [http]: http_server.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http.h (
        echo boom E: [http]: http.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http.c (
        echo boom E: [http]: http.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static.icl (
        echo boom E: [http]: http_static.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static_test.c (
        echo boom E: [http]: http_static_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static.h (
        echo boom E: [http]: http_static.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static.c (
        echo boom E: [http]: http_static.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist stamp_generate (
        echo boom E: [http]: stamp_generate is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure (
        echo boom E: [http]: configure is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.unix (
        echo boom E: [http]: Makefile.unix is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [http]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure.bat (
        echo boom E: [http]: configure.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.win32 (
        echo boom E: [http]: Makefile.win32 is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [http]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [http]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist libhttp.vcproj (
        echo boom E: [http]: libhttp.vcproj is missing, cannot continue
        set _exception=1
        goto :eof
    )
    pushd webpages
    if not exist default.html (
        echo boom E: [http]: default.html is missing, cannot continue
    popd
        set _exception=1
        goto :eof
    )
    if not exist default.css (
        echo boom E: [http]: default.css is missing, cannot continue
    popd
        set _exception=1
        goto :eof
    )
    popd
    goto :eof

:------------------------   CHECK BINARY FILES EXIST   ------------------------

:a_check_binary_files_exist
    if not exist http_refresh.pl (
        echo boom E: [http]: http_refresh.pl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_agent.smt (
        echo boom E: [http]: http_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist libhttp.lib (
        echo boom E: [http]: libhttp.lib is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [http]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.h (
        echo boom E: [http]: http_config.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.txt (
        echo boom E: [http]: http_config.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address.h (
        echo boom E: [http]: http_address.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_table.h (
        echo boom E: [http]: http_address_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_request.h (
        echo boom E: [http]: http_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_response.h (
        echo boom E: [http]: http_response.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module_front.icl (
        echo boom E: [http]: http_driver_module_front.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module_back.icl (
        echo boom E: [http]: http_driver_module_back.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module.h (
        echo boom E: [http]: http_driver_module.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module_front.icl (
        echo boom E: [http]: http_access_module_front.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module_back.icl (
        echo boom E: [http]: http_access_module_back.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module.h (
        echo boom E: [http]: http_access_module.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_context.h (
        echo boom E: [http]: http_driver_context.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_context.h (
        echo boom E: [http]: http_access_context.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file_agent.smt (
        echo boom E: [http]: http_driver_file_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file_agent.h (
        echo boom E: [http]: http_driver_file_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file.h (
        echo boom E: [http]: http_driver_file.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi_agent.smt (
        echo boom E: [http]: http_driver_cgi_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi_agent.h (
        echo boom E: [http]: http_driver_cgi_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi.h (
        echo boom E: [http]: http_driver_cgi.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null_agent.smt (
        echo boom E: [http]: http_driver_null_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null_agent.h (
        echo boom E: [http]: http_driver_null_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null.h (
        echo boom E: [http]: http_driver_null.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger_agent.smt (
        echo boom E: [http]: http_access_logger_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger_agent.h (
        echo boom E: [http]: http_access_logger_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger.h (
        echo boom E: [http]: http_access_logger.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy_agent.smt (
        echo boom E: [http]: http_access_policy_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy_agent.h (
        echo boom E: [http]: http_access_policy_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy.h (
        echo boom E: [http]: http_access_policy.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh_agent.smt (
        echo boom E: [http]: http_access_refresh_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh_agent.h (
        echo boom E: [http]: http_access_refresh_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh.h (
        echo boom E: [http]: http_access_refresh.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos_agent.smt (
        echo boom E: [http]: http_access_dos_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos_agent.h (
        echo boom E: [http]: http_access_dos_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos.h (
        echo boom E: [http]: http_access_dos.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_agent.h (
        echo boom E: [http]: http_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server_agent.smt (
        echo boom E: [http]: http_server_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server_agent.h (
        echo boom E: [http]: http_server_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server.h (
        echo boom E: [http]: http_server.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http.h (
        echo boom E: [http]: http.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static.h (
        echo boom E: [http]: http_static.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    pushd webpages
    if not exist default.html (
        echo boom E: [http]: default.html is missing, cannot continue
    popd
        set _exception=1
        goto :eof
    )
    if not exist default.css (
        echo boom E: [http]: default.css is missing, cannot continue
    popd
        set _exception=1
        goto :eof
    )
    popd
    goto :eof

:-------------------------   CHECK OPERATING CONTEXT   ------------------------

:a_check_operating_context
    set event=repository
    if exist stamp_source   set event=source
    if exist stamp_stripped set event=stripped
    goto :eof

:------------------------   CHECK PROJECT FILES EXIST   -----------------------

:a_check_project_files_exist
    if not exist version.h (
        echo boom E: [http]: version.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.opf (
        echo boom E: [http]: http_config.opf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_main.inc (
        echo boom E: [http]: http_main.inc is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address.icl (
        echo boom E: [http]: http_address.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_request.icl (
        echo boom E: [http]: http_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_response.icl (
        echo boom E: [http]: http_response.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module.icl (
        echo boom E: [http]: http_driver_module.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module.icl (
        echo boom E: [http]: http_access_module.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_context.icl (
        echo boom E: [http]: http_driver_context.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_context.icl (
        echo boom E: [http]: http_access_context.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file.icl (
        echo boom E: [http]: http_driver_file.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi.icl (
        echo boom E: [http]: http_driver_cgi.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null.icl (
        echo boom E: [http]: http_driver_null.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger.icl (
        echo boom E: [http]: http_access_logger.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy.icl (
        echo boom E: [http]: http_access_policy.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh.icl (
        echo boom E: [http]: http_access_refresh.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos.icl (
        echo boom E: [http]: http_access_dos.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_refresh.pl (
        echo boom E: [http]: http_refresh.pl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_agent.smt (
        echo boom E: [http]: http_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server.icl (
        echo boom E: [http]: http_server.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http.icl (
        echo boom E: [http]: http.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static.rc (
        echo boom E: [http]: http_static.rc is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_base.cfg (
        echo boom E: [http]: http_base.cfg is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_base.css (
        echo boom E: [http]: http_base.css is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist httpd.c (
        echo boom E: [http]: httpd.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [http]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [http]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [http]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [http]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [http]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist webpages\nul (
        echo boom E: [http]: directory webpages is missing, cannot continue
        set _exception=1
        goto :eof
    )
    pushd webpages
    if not exist default.html (
        echo boom E: [http]: default.html is missing, cannot continue
    popd
        set _exception=1
        goto :eof
    )
    if not exist default.css (
        echo boom E: [http]: default.css is missing, cannot continue
    popd
        set _exception=1
        goto :eof
    )
    popd
    goto :eof

:------------------------   CHECK SOURCE FILES EXIST   ------------------------

:a_check_source_files_exist
    if not exist version.h (
        echo boom E: [http]: version.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.opf (
        echo boom E: [http]: http_config.opf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_main.inc (
        echo boom E: [http]: http_main.inc is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address.icl (
        echo boom E: [http]: http_address.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_table.icl (
        echo boom E: [http]: http_address_table.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_request.icl (
        echo boom E: [http]: http_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_response.icl (
        echo boom E: [http]: http_response.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module.icl (
        echo boom E: [http]: http_driver_module.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module.icl (
        echo boom E: [http]: http_access_module.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_context.icl (
        echo boom E: [http]: http_driver_context.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_context.icl (
        echo boom E: [http]: http_access_context.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file.icl (
        echo boom E: [http]: http_driver_file.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi.icl (
        echo boom E: [http]: http_driver_cgi.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null.icl (
        echo boom E: [http]: http_driver_null.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger.icl (
        echo boom E: [http]: http_access_logger.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy.icl (
        echo boom E: [http]: http_access_policy.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh.icl (
        echo boom E: [http]: http_access_refresh.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos.icl (
        echo boom E: [http]: http_access_dos.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_refresh.pl (
        echo boom E: [http]: http_refresh.pl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_agent.smt (
        echo boom E: [http]: http_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server.icl (
        echo boom E: [http]: http_server.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http.icl (
        echo boom E: [http]: http.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static.rc (
        echo boom E: [http]: http_static.rc is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_base.cfg (
        echo boom E: [http]: http_base.cfg is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_base.css (
        echo boom E: [http]: http_base.css is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist httpd.c (
        echo boom E: [http]: httpd.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [http]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [http]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.icl (
        echo boom E: [http]: http_config.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config_test.c (
        echo boom E: [http]: http_config_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.h (
        echo boom E: [http]: http_config.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.c (
        echo boom E: [http]: http_config.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_config.txt (
        echo boom E: [http]: http_config.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_test.c (
        echo boom E: [http]: http_address_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address.h (
        echo boom E: [http]: http_address.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address.c (
        echo boom E: [http]: http_address.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_table_test.c (
        echo boom E: [http]: http_address_table_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_table.h (
        echo boom E: [http]: http_address_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_address_table.c (
        echo boom E: [http]: http_address_table.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_request_test.c (
        echo boom E: [http]: http_request_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_request.h (
        echo boom E: [http]: http_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_request.c (
        echo boom E: [http]: http_request.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_response_test.c (
        echo boom E: [http]: http_response_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_response.h (
        echo boom E: [http]: http_response.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_response.c (
        echo boom E: [http]: http_response.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module_front.icl (
        echo boom E: [http]: http_driver_module_front.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module_back.icl (
        echo boom E: [http]: http_driver_module_back.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module_test.c (
        echo boom E: [http]: http_driver_module_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module.h (
        echo boom E: [http]: http_driver_module.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_module.c (
        echo boom E: [http]: http_driver_module.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module_front.icl (
        echo boom E: [http]: http_access_module_front.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module_back.icl (
        echo boom E: [http]: http_access_module_back.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module_test.c (
        echo boom E: [http]: http_access_module_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module.h (
        echo boom E: [http]: http_access_module.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_module.c (
        echo boom E: [http]: http_access_module.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_context_test.c (
        echo boom E: [http]: http_driver_context_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_context.h (
        echo boom E: [http]: http_driver_context.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_context.c (
        echo boom E: [http]: http_driver_context.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_context_test.c (
        echo boom E: [http]: http_access_context_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_context.h (
        echo boom E: [http]: http_access_context.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_context.c (
        echo boom E: [http]: http_access_context.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file_agent.smt (
        echo boom E: [http]: http_driver_file_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file_agent.h (
        echo boom E: [http]: http_driver_file_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file_agent.c (
        echo boom E: [http]: http_driver_file_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file_test.c (
        echo boom E: [http]: http_driver_file_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file.h (
        echo boom E: [http]: http_driver_file.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_file.c (
        echo boom E: [http]: http_driver_file.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi_agent.smt (
        echo boom E: [http]: http_driver_cgi_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi_agent.h (
        echo boom E: [http]: http_driver_cgi_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi_agent.c (
        echo boom E: [http]: http_driver_cgi_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi_test.c (
        echo boom E: [http]: http_driver_cgi_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi.h (
        echo boom E: [http]: http_driver_cgi.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_cgi.c (
        echo boom E: [http]: http_driver_cgi.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null_agent.smt (
        echo boom E: [http]: http_driver_null_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null_agent.h (
        echo boom E: [http]: http_driver_null_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null_agent.c (
        echo boom E: [http]: http_driver_null_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null_test.c (
        echo boom E: [http]: http_driver_null_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null.h (
        echo boom E: [http]: http_driver_null.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_driver_null.c (
        echo boom E: [http]: http_driver_null.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger_agent.smt (
        echo boom E: [http]: http_access_logger_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger_agent.h (
        echo boom E: [http]: http_access_logger_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger_agent.c (
        echo boom E: [http]: http_access_logger_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger_test.c (
        echo boom E: [http]: http_access_logger_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger.h (
        echo boom E: [http]: http_access_logger.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_logger.c (
        echo boom E: [http]: http_access_logger.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy_agent.smt (
        echo boom E: [http]: http_access_policy_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy_agent.h (
        echo boom E: [http]: http_access_policy_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy_agent.c (
        echo boom E: [http]: http_access_policy_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy_test.c (
        echo boom E: [http]: http_access_policy_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy.h (
        echo boom E: [http]: http_access_policy.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_policy.c (
        echo boom E: [http]: http_access_policy.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh_agent.smt (
        echo boom E: [http]: http_access_refresh_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh_agent.h (
        echo boom E: [http]: http_access_refresh_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh_agent.c (
        echo boom E: [http]: http_access_refresh_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh_test.c (
        echo boom E: [http]: http_access_refresh_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh.h (
        echo boom E: [http]: http_access_refresh.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_refresh.c (
        echo boom E: [http]: http_access_refresh.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos_agent.smt (
        echo boom E: [http]: http_access_dos_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos_agent.h (
        echo boom E: [http]: http_access_dos_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos_agent.c (
        echo boom E: [http]: http_access_dos_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos_test.c (
        echo boom E: [http]: http_access_dos_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos.h (
        echo boom E: [http]: http_access_dos.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_access_dos.c (
        echo boom E: [http]: http_access_dos.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_agent.h (
        echo boom E: [http]: http_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_agent.c (
        echo boom E: [http]: http_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server_agent.smt (
        echo boom E: [http]: http_server_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server_agent.h (
        echo boom E: [http]: http_server_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server_agent.c (
        echo boom E: [http]: http_server_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server_test.c (
        echo boom E: [http]: http_server_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server.h (
        echo boom E: [http]: http_server.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_server.c (
        echo boom E: [http]: http_server.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http.h (
        echo boom E: [http]: http.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http.c (
        echo boom E: [http]: http.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static.icl (
        echo boom E: [http]: http_static.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static_test.c (
        echo boom E: [http]: http_static_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static.h (
        echo boom E: [http]: http_static.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist http_static.c (
        echo boom E: [http]: http_static.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist stamp_generate (
        echo boom E: [http]: stamp_generate is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure (
        echo boom E: [http]: configure is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.unix (
        echo boom E: [http]: Makefile.unix is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [http]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure.bat (
        echo boom E: [http]: configure.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.win32 (
        echo boom E: [http]: Makefile.win32 is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [http]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [http]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist libhttp.vcproj (
        echo boom E: [http]: libhttp.vcproj is missing, cannot continue
        set _exception=1
        goto :eof
    )
    pushd webpages
    if not exist default.html (
        echo boom E: [http]: default.html is missing, cannot continue
    popd
        set _exception=1
        goto :eof
    )
    if not exist default.css (
        echo boom E: [http]: default.css is missing, cannot continue
    popd
        set _exception=1
        goto :eof
    )
    popd
    goto :eof

:--------------------------   INSTALL DELIVERABLES   --------------------------

:a_install_deliverables
    echo boom I: [http]: installing http into !_INSTALL_ROOT!...
    if not exist !_INSTALL_ROOT! mkdir !_INSTALL_ROOT!
    if "!BOOM_TRACE!"=="1" echo copy/y http_config.opf !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_config.opf !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_config.opf !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_address.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_address.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_address.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_address_table.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_address_table.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_address_table.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_request.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_request.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_request.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_response.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_response.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_response.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_context.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_driver_context.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_context.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_context.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_context.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_context.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_file.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_driver_file.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_file.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_cgi.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_driver_cgi.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_cgi.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_null.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_driver_null.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_null.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_logger.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_logger.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_logger.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_policy.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_policy.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_policy.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_refresh.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_refresh.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_refresh.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_dos.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_dos.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_dos.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_refresh.pl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_refresh.pl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_refresh.pl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_server.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_server.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_server.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\lib\nul mkdir !_INSTALL_ROOT!\lib\
    if "!BOOM_TRACE!"=="1" echo copy/y libhttp.lib !_INSTALL_ROOT!\lib\>nul
    verify>nul
    call copy/y libhttp.lib !_INSTALL_ROOT!\lib\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y libhttp.lib !_INSTALL_ROOT!\lib\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if not exist !_INSTALL_ROOT!\doc\http\nul mkdir !_INSTALL_ROOT!\doc\http\
    if "!BOOM_TRACE!"=="1" echo copy/y readme.txt !_INSTALL_ROOT!\doc\http\>nul
    verify>nul
    call copy/y readme.txt !_INSTALL_ROOT!\doc\http\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y readme.txt !_INSTALL_ROOT!\doc\http\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_config.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_config.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_config.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_config.txt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_config.txt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_config.txt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_address.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_address.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_address.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_address_table.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_address_table.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_address_table.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_request.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_request.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_request.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_response.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_response.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_response.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_module_front.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_driver_module_front.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_module_front.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_module_back.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_driver_module_back.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_module_back.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_module.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_driver_module.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_module.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_module_front.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_module_front.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_module_front.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_module_back.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_module_back.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_module_back.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_module.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_access_module.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_module.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_context.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_driver_context.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_context.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_context.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_access_context.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_context.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_file_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_driver_file_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_file_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_file_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_driver_file_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_file_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_file.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_driver_file.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_file.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_cgi_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_driver_cgi_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_cgi_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_cgi_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_driver_cgi_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_cgi_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_cgi.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_driver_cgi.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_cgi.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_null_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_driver_null_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_null_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_null_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_driver_null_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_null_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_driver_null.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_driver_null.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_driver_null.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_logger_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_logger_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_logger_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_logger_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_access_logger_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_logger_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_logger.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_access_logger.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_logger.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_policy_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_policy_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_policy_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_policy_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_access_policy_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_policy_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_policy.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_access_policy.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_policy.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_refresh_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_refresh_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_refresh_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_refresh_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_access_refresh_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_refresh_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_refresh.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_access_refresh.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_refresh.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_dos_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_access_dos_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_dos_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_dos_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_access_dos_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_dos_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_access_dos.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_access_dos.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_access_dos.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y http_server_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y http_server_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_server_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y http_server_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_server_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_server_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_server.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_server.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_server.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y http_static.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y http_static.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y http_static.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y webpages\default.html !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y webpages\default.html !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y webpages\default.html !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y webpages\default.css !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y webpages\default.css !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [http]: 'copy/y webpages\default.css !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if exist installer.bat (
    if "!BOOM_TRACE!"=="1" echo installer
    verify>nul
    call installer
    if errorlevel 1 (
        echo boom E: [http]: 'installer' failed - stop.
        set _exception=1
        goto :eof
    )
    )
    goto :eof

:-----------------------   PRODUCE ALL GENERATED FILES   ----------------------

:a_produce_all_generated_files
    echo boom I: [http]: Generating files...
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_config.opf
    verify>nul
    call gsl -q -quiet:1 http_config.opf
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_config.opf' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_address.icl
    verify>nul
    call gsl -q -quiet:1 http_address.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_address.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_address_table.icl
    verify>nul
    call gsl -q -quiet:1 http_address_table.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_address_table.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_request.icl
    verify>nul
    call gsl -q -quiet:1 http_request.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_request.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_response.icl
    verify>nul
    call gsl -q -quiet:1 http_response.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_response.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_module.icl
    verify>nul
    call gsl -q -quiet:1 http_driver_module.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_module.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_module.icl
    verify>nul
    call gsl -q -quiet:1 http_access_module.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_module.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_context.icl
    verify>nul
    call gsl -q -quiet:1 http_driver_context.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_context.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_context.icl
    verify>nul
    call gsl -q -quiet:1 http_access_context.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_context.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_file.icl
    verify>nul
    call gsl -q -quiet:1 http_driver_file.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_file.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_cgi.icl
    verify>nul
    call gsl -q -quiet:1 http_driver_cgi.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_cgi.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_null.icl
    verify>nul
    call gsl -q -quiet:1 http_driver_null.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_null.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_logger.icl
    verify>nul
    call gsl -q -quiet:1 http_access_logger.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_logger.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_policy.icl
    verify>nul
    call gsl -q -quiet:1 http_access_policy.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_policy.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_refresh.icl
    verify>nul
    call gsl -q -quiet:1 http_access_refresh.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_refresh.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_dos.icl
    verify>nul
    call gsl -q -quiet:1 http_access_dos.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_dos.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_server.icl
    verify>nul
    call gsl -q -quiet:1 http_server.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_server.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http.icl
    verify>nul
    call gsl -q -quiet:1 http.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo perl -S ipr_resource.pl -@ http_static.rc
    verify>nul
    call perl -S ipr_resource.pl -@ http_static.rc
    if errorlevel 1 (
        echo boom E: [http]: 'perl -S ipr_resource.pl -@ http_static.rc' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_config.icl
    verify>nul
    call gsl -q -quiet:1 http_config.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_config.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_file_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_driver_file_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_file_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_cgi_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_driver_cgi_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_cgi_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_null_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_driver_null_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_null_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_logger_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_access_logger_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_logger_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_policy_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_access_policy_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_policy_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_refresh_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_access_refresh_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_refresh_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_dos_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_access_dos_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_dos_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_server_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_server_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_server_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_static.icl
    verify>nul
    call gsl -q -quiet:1 http_static.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_static.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    pushd webpages
    popd
    echo Source files successfully generated>stamp_generate
    goto :eof

:-------------------------   PRODUCE GENERATED FILES   ------------------------

:a_produce_generated_files
    echo boom I: [http]: Generating files...
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_config.opf
    verify>nul
    call gsl -q -quiet:1 http_config.opf
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_config.opf' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_address.icl
    verify>nul
    call gsl -q -quiet:1 http_address.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_address.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_address_table.icl
    verify>nul
    call gsl -q -quiet:1 http_address_table.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_address_table.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_request.icl
    verify>nul
    call gsl -q -quiet:1 http_request.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_request.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_response.icl
    verify>nul
    call gsl -q -quiet:1 http_response.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_response.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_module.icl
    verify>nul
    call gsl -q -quiet:1 http_driver_module.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_module.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_module.icl
    verify>nul
    call gsl -q -quiet:1 http_access_module.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_module.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_context.icl
    verify>nul
    call gsl -q -quiet:1 http_driver_context.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_context.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_context.icl
    verify>nul
    call gsl -q -quiet:1 http_access_context.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_context.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_file.icl
    verify>nul
    call gsl -q -quiet:1 http_driver_file.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_file.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_cgi.icl
    verify>nul
    call gsl -q -quiet:1 http_driver_cgi.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_cgi.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_null.icl
    verify>nul
    call gsl -q -quiet:1 http_driver_null.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_null.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_logger.icl
    verify>nul
    call gsl -q -quiet:1 http_access_logger.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_logger.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_policy.icl
    verify>nul
    call gsl -q -quiet:1 http_access_policy.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_policy.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_refresh.icl
    verify>nul
    call gsl -q -quiet:1 http_access_refresh.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_refresh.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_dos.icl
    verify>nul
    call gsl -q -quiet:1 http_access_dos.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_dos.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_server.icl
    verify>nul
    call gsl -q -quiet:1 http_server.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_server.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http.icl
    verify>nul
    call gsl -q -quiet:1 http.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo perl -S ipr_resource.pl -@ http_static.rc
    verify>nul
    call perl -S ipr_resource.pl -@ http_static.rc
    if errorlevel 1 (
        echo boom E: [http]: 'perl -S ipr_resource.pl -@ http_static.rc' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_config.icl
    verify>nul
    call gsl -q -quiet:1 http_config.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_config.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_file_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_driver_file_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_file_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_cgi_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_driver_cgi_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_cgi_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_driver_null_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_driver_null_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_driver_null_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_logger_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_access_logger_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_logger_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_policy_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_access_policy_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_policy_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_refresh_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_access_refresh_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_refresh_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_access_dos_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_access_dos_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_access_dos_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_server_agent.smt
    verify>nul
    call gsl -q -quiet:1 http_server_agent.smt
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_server_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 http_static.icl
    verify>nul
    call gsl -q -quiet:1 http_static.icl
    if errorlevel 1 (
        echo boom E: [http]: 'gsl -q -quiet:1 http_static.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    pushd webpages
    popd
    echo Source files successfully generated>stamp_generate
    goto :eof

:------------------------   REMOVE GENERATED BINARIES   -----------------------

:a_remove_generated_binaries
    if exist libhttp.lib del libhttp.lib
    if exist http_config_test_test.obj del http_config_test_test.obj
    if exist http_config_test_test.exe del http_config_test_test.exe
    if exist http_config.obj del http_config.obj
    if exist http_address_test_test.obj del http_address_test_test.obj
    if exist http_address_test_test.exe del http_address_test_test.exe
    if exist http_address.obj del http_address.obj
    if exist http_address_table_test_test.obj del http_address_table_test_test.obj
    if exist http_address_table_test_test.exe del http_address_table_test_test.exe
    if exist http_address_table.obj del http_address_table.obj
    if exist http_request_test_test.obj del http_request_test_test.obj
    if exist http_request_test_test.exe del http_request_test_test.exe
    if exist http_request.obj del http_request.obj
    if exist http_response_test_test.obj del http_response_test_test.obj
    if exist http_response_test_test.exe del http_response_test_test.exe
    if exist http_response.obj del http_response.obj
    if exist http_driver_module_test_test.obj del http_driver_module_test_test.obj
    if exist http_driver_module_test_test.exe del http_driver_module_test_test.exe
    if exist http_driver_module.obj del http_driver_module.obj
    if exist http_access_module_test_test.obj del http_access_module_test_test.obj
    if exist http_access_module_test_test.exe del http_access_module_test_test.exe
    if exist http_access_module.obj del http_access_module.obj
    if exist http_driver_context_test_test.obj del http_driver_context_test_test.obj
    if exist http_driver_context_test_test.exe del http_driver_context_test_test.exe
    if exist http_driver_context.obj del http_driver_context.obj
    if exist http_access_context_test_test.obj del http_access_context_test_test.obj
    if exist http_access_context_test_test.exe del http_access_context_test_test.exe
    if exist http_access_context.obj del http_access_context.obj
    if exist http_driver_file_agent.obj del http_driver_file_agent.obj
    if exist http_driver_file_test_test.obj del http_driver_file_test_test.obj
    if exist http_driver_file_test_test.exe del http_driver_file_test_test.exe
    if exist http_driver_file.obj del http_driver_file.obj
    if exist http_driver_cgi_agent.obj del http_driver_cgi_agent.obj
    if exist http_driver_cgi_test_test.obj del http_driver_cgi_test_test.obj
    if exist http_driver_cgi_test_test.exe del http_driver_cgi_test_test.exe
    if exist http_driver_cgi.obj del http_driver_cgi.obj
    if exist http_driver_null_agent.obj del http_driver_null_agent.obj
    if exist http_driver_null_test_test.obj del http_driver_null_test_test.obj
    if exist http_driver_null_test_test.exe del http_driver_null_test_test.exe
    if exist http_driver_null.obj del http_driver_null.obj
    if exist http_access_logger_agent.obj del http_access_logger_agent.obj
    if exist http_access_logger_test_test.obj del http_access_logger_test_test.obj
    if exist http_access_logger_test_test.exe del http_access_logger_test_test.exe
    if exist http_access_logger.obj del http_access_logger.obj
    if exist http_access_policy_agent.obj del http_access_policy_agent.obj
    if exist http_access_policy_test_test.obj del http_access_policy_test_test.obj
    if exist http_access_policy_test_test.exe del http_access_policy_test_test.exe
    if exist http_access_policy.obj del http_access_policy.obj
    if exist http_access_refresh_agent.obj del http_access_refresh_agent.obj
    if exist http_access_refresh_test_test.obj del http_access_refresh_test_test.obj
    if exist http_access_refresh_test_test.exe del http_access_refresh_test_test.exe
    if exist http_access_refresh.obj del http_access_refresh.obj
    if exist http_access_dos_agent.obj del http_access_dos_agent.obj
    if exist http_access_dos_test_test.obj del http_access_dos_test_test.obj
    if exist http_access_dos_test_test.exe del http_access_dos_test_test.exe
    if exist http_access_dos.obj del http_access_dos.obj
    if exist http_agent.obj del http_agent.obj
    if exist http_server_agent.obj del http_server_agent.obj
    if exist http_server_test_test.obj del http_server_test_test.obj
    if exist http_server_test_test.exe del http_server_test_test.exe
    if exist http_server.obj del http_server.obj
    if exist http.obj del http.obj
    if exist http_static_test_test.obj del http_static_test_test.obj
    if exist http_static_test_test.exe del http_static_test_test.exe
    if exist http_static.obj del http_static.obj
    if exist httpd.obj del httpd.obj
    if exist httpd.exe del httpd.exe
    if exist http_config_test.obj del http_config_test.obj
    if exist http_config_test.exe del http_config_test.exe
    if exist http_config.obj del http_config.obj
    if exist http_address_test.obj del http_address_test.obj
    if exist http_address_test.exe del http_address_test.exe
    if exist http_address.obj del http_address.obj
    if exist http_address_table_test.obj del http_address_table_test.obj
    if exist http_address_table_test.exe del http_address_table_test.exe
    if exist http_address_table.obj del http_address_table.obj
    if exist http_request_test.obj del http_request_test.obj
    if exist http_request_test.exe del http_request_test.exe
    if exist http_request.obj del http_request.obj
    if exist http_response_test.obj del http_response_test.obj
    if exist http_response_test.exe del http_response_test.exe
    if exist http_response.obj del http_response.obj
    if exist http_driver_module_test.obj del http_driver_module_test.obj
    if exist http_driver_module_test.exe del http_driver_module_test.exe
    if exist http_driver_module.obj del http_driver_module.obj
    if exist http_access_module_test.obj del http_access_module_test.obj
    if exist http_access_module_test.exe del http_access_module_test.exe
    if exist http_access_module.obj del http_access_module.obj
    if exist http_driver_context_test.obj del http_driver_context_test.obj
    if exist http_driver_context_test.exe del http_driver_context_test.exe
    if exist http_driver_context.obj del http_driver_context.obj
    if exist http_access_context_test.obj del http_access_context_test.obj
    if exist http_access_context_test.exe del http_access_context_test.exe
    if exist http_access_context.obj del http_access_context.obj
    if exist http_driver_file_agent.obj del http_driver_file_agent.obj
    if exist http_driver_file_test.obj del http_driver_file_test.obj
    if exist http_driver_file_test.exe del http_driver_file_test.exe
    if exist http_driver_file.obj del http_driver_file.obj
    if exist http_driver_cgi_agent.obj del http_driver_cgi_agent.obj
    if exist http_driver_cgi_test.obj del http_driver_cgi_test.obj
    if exist http_driver_cgi_test.exe del http_driver_cgi_test.exe
    if exist http_driver_cgi.obj del http_driver_cgi.obj
    if exist http_driver_null_agent.obj del http_driver_null_agent.obj
    if exist http_driver_null_test.obj del http_driver_null_test.obj
    if exist http_driver_null_test.exe del http_driver_null_test.exe
    if exist http_driver_null.obj del http_driver_null.obj
    if exist http_access_logger_agent.obj del http_access_logger_agent.obj
    if exist http_access_logger_test.obj del http_access_logger_test.obj
    if exist http_access_logger_test.exe del http_access_logger_test.exe
    if exist http_access_logger.obj del http_access_logger.obj
    if exist http_access_policy_agent.obj del http_access_policy_agent.obj
    if exist http_access_policy_test.obj del http_access_policy_test.obj
    if exist http_access_policy_test.exe del http_access_policy_test.exe
    if exist http_access_policy.obj del http_access_policy.obj
    if exist http_access_refresh_agent.obj del http_access_refresh_agent.obj
    if exist http_access_refresh_test.obj del http_access_refresh_test.obj
    if exist http_access_refresh_test.exe del http_access_refresh_test.exe
    if exist http_access_refresh.obj del http_access_refresh.obj
    if exist http_access_dos_agent.obj del http_access_dos_agent.obj
    if exist http_access_dos_test.obj del http_access_dos_test.obj
    if exist http_access_dos_test.exe del http_access_dos_test.exe
    if exist http_access_dos.obj del http_access_dos.obj
    if exist http_agent.obj del http_agent.obj
    if exist http_server_agent.obj del http_server_agent.obj
    if exist http_server_test.obj del http_server_test.obj
    if exist http_server_test.exe del http_server_test.exe
    if exist http_server.obj del http_server.obj
    if exist http.obj del http.obj
    if exist http_static_test.obj del http_static_test.obj
    if exist http_static_test.exe del http_static_test.exe
    if exist http_static.obj del http_static.obj
    if exist webpages\libhttp.lib del webpages\libhttp.lib
    pushd webpages
    popd
    if exist vc60.pdb del vc60.pdb
    goto :eof

:------------------------   REMOVE GENERATED SOURCES   ------------------------

:a_remove_generated_sources
    if exist http_address_table.icl del http_address_table.icl
    if exist http_config.icl del http_config.icl
    if exist http_config_test.c del http_config_test.c
    if exist http_config.h del http_config.h
    if exist http_config.c del http_config.c
    if exist http_config.txt del http_config.txt
    if exist http_address_test.c del http_address_test.c
    if exist http_address.h del http_address.h
    if exist http_address.c del http_address.c
    if exist http_address_table_test.c del http_address_table_test.c
    if exist http_address_table.h del http_address_table.h
    if exist http_address_table.c del http_address_table.c
    if exist http_request_test.c del http_request_test.c
    if exist http_request.h del http_request.h
    if exist http_request.c del http_request.c
    if exist http_response_test.c del http_response_test.c
    if exist http_response.h del http_response.h
    if exist http_response.c del http_response.c
    if exist http_driver_module_front.icl del http_driver_module_front.icl
    if exist http_driver_module_back.icl del http_driver_module_back.icl
    if exist http_driver_module_test.c del http_driver_module_test.c
    if exist http_driver_module.h del http_driver_module.h
    if exist http_driver_module.c del http_driver_module.c
    if exist http_access_module_front.icl del http_access_module_front.icl
    if exist http_access_module_back.icl del http_access_module_back.icl
    if exist http_access_module_test.c del http_access_module_test.c
    if exist http_access_module.h del http_access_module.h
    if exist http_access_module.c del http_access_module.c
    if exist http_driver_context_test.c del http_driver_context_test.c
    if exist http_driver_context.h del http_driver_context.h
    if exist http_driver_context.c del http_driver_context.c
    if exist http_access_context_test.c del http_access_context_test.c
    if exist http_access_context.h del http_access_context.h
    if exist http_access_context.c del http_access_context.c
    if exist http_driver_file_agent.smt del http_driver_file_agent.smt
    if exist http_driver_file_agent.h del http_driver_file_agent.h
    if exist http_driver_file_agent.c del http_driver_file_agent.c
    if exist http_driver_file_test.c del http_driver_file_test.c
    if exist http_driver_file.h del http_driver_file.h
    if exist http_driver_file.c del http_driver_file.c
    if exist http_driver_cgi_agent.smt del http_driver_cgi_agent.smt
    if exist http_driver_cgi_agent.h del http_driver_cgi_agent.h
    if exist http_driver_cgi_agent.c del http_driver_cgi_agent.c
    if exist http_driver_cgi_test.c del http_driver_cgi_test.c
    if exist http_driver_cgi.h del http_driver_cgi.h
    if exist http_driver_cgi.c del http_driver_cgi.c
    if exist http_driver_null_agent.smt del http_driver_null_agent.smt
    if exist http_driver_null_agent.h del http_driver_null_agent.h
    if exist http_driver_null_agent.c del http_driver_null_agent.c
    if exist http_driver_null_test.c del http_driver_null_test.c
    if exist http_driver_null.h del http_driver_null.h
    if exist http_driver_null.c del http_driver_null.c
    if exist http_access_logger_agent.smt del http_access_logger_agent.smt
    if exist http_access_logger_agent.h del http_access_logger_agent.h
    if exist http_access_logger_agent.c del http_access_logger_agent.c
    if exist http_access_logger_test.c del http_access_logger_test.c
    if exist http_access_logger.h del http_access_logger.h
    if exist http_access_logger.c del http_access_logger.c
    if exist http_access_policy_agent.smt del http_access_policy_agent.smt
    if exist http_access_policy_agent.h del http_access_policy_agent.h
    if exist http_access_policy_agent.c del http_access_policy_agent.c
    if exist http_access_policy_test.c del http_access_policy_test.c
    if exist http_access_policy.h del http_access_policy.h
    if exist http_access_policy.c del http_access_policy.c
    if exist http_access_refresh_agent.smt del http_access_refresh_agent.smt
    if exist http_access_refresh_agent.h del http_access_refresh_agent.h
    if exist http_access_refresh_agent.c del http_access_refresh_agent.c
    if exist http_access_refresh_test.c del http_access_refresh_test.c
    if exist http_access_refresh.h del http_access_refresh.h
    if exist http_access_refresh.c del http_access_refresh.c
    if exist http_access_dos_agent.smt del http_access_dos_agent.smt
    if exist http_access_dos_agent.h del http_access_dos_agent.h
    if exist http_access_dos_agent.c del http_access_dos_agent.c
    if exist http_access_dos_test.c del http_access_dos_test.c
    if exist http_access_dos.h del http_access_dos.h
    if exist http_access_dos.c del http_access_dos.c
    if exist http_agent.h del http_agent.h
    if exist http_agent.c del http_agent.c
    if exist http_server_agent.smt del http_server_agent.smt
    if exist http_server_agent.h del http_server_agent.h
    if exist http_server_agent.c del http_server_agent.c
    if exist http_server_test.c del http_server_test.c
    if exist http_server.h del http_server.h
    if exist http_server.c del http_server.c
    if exist http.h del http.h
    if exist http.c del http.c
    if exist http_static.icl del http_static.icl
    if exist http_static_test.c del http_static_test.c
    if exist http_static.h del http_static.h
    if exist http_static.c del http_static.c
    if exist stamp_generate del stamp_generate
    if exist configure del configure
    if exist Makefile.unix del Makefile.unix
    if exist configure.bat del configure.bat
    if exist Makefile.win32 del Makefile.win32
    if exist libhttp.vcproj del libhttp.vcproj
    pushd webpages
    popd
    if exist http_*.zip del http_*.zip
    goto :eof

:-------------------------   REPORT HELP INFORMATION   ------------------------

:a_report_help_information
    echo The commands you can currently use on this project are:
    echo.
    goto r_!state!
    goto :eof

:-------------------------   REPORT PROJECT VERSION   -------------------------

:a_report_project_version
    echo http-1.0
    goto :eof

:--------------------------   RUN REGRESSION TESTS   --------------------------

:a_run_regression_tests
    echo boom I: [http]: Running regression tests...
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_config_test
    ) else (
        set RUN_COMMAND=http_config_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_address_test
    ) else (
        set RUN_COMMAND=http_address_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_address_table_test
    ) else (
        set RUN_COMMAND=http_address_table_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_request_test
    ) else (
        set RUN_COMMAND=http_request_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_response_test
    ) else (
        set RUN_COMMAND=http_response_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_driver_module_test
    ) else (
        set RUN_COMMAND=http_driver_module_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_access_module_test
    ) else (
        set RUN_COMMAND=http_access_module_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_driver_context_test
    ) else (
        set RUN_COMMAND=http_driver_context_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_access_context_test
    ) else (
        set RUN_COMMAND=http_access_context_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_driver_file_test
    ) else (
        set RUN_COMMAND=http_driver_file_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_driver_cgi_test
    ) else (
        set RUN_COMMAND=http_driver_cgi_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_driver_null_test
    ) else (
        set RUN_COMMAND=http_driver_null_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_access_logger_test
    ) else (
        set RUN_COMMAND=http_access_logger_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_access_policy_test
    ) else (
        set RUN_COMMAND=http_access_policy_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_access_refresh_test
    ) else (
        set RUN_COMMAND=http_access_refresh_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_access_dos_test
    ) else (
        set RUN_COMMAND=http_access_dos_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_server_test
    ) else (
        set RUN_COMMAND=http_server_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=http_static_test
    ) else (
        set RUN_COMMAND=http_static_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [http]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    pushd webpages
    popd
    :-  Run local selftest script if present
    if exist selftest.bat (
    if "!BOOM_TRACE!"=="1" echo selftest
    verify>nul
    call selftest
    if errorlevel 1 (
        echo boom E: [http]: 'selftest' failed - stop.
        set _exception=1
        goto :eof
    )
    )
    goto :eof

:-----------------------   USE SOURCE CONTROL REVISION   ----------------------

:a_use_source_control_revision
    set SVN_REVISION=svn
    if exist .svn
ul (
        for /f "usebackq tokens=1,2 delims=: " %%v in (`svn info`) do if "%%v"=="Revision" set SVN_REVISION=%%w
    )
    set MY_VERSION=!MY_VERSION!-!SVN_REVISION!
    goto :eof

:s_initial
    if "!debug!"=="1" echo State: initial
    if "!event!"=="" goto s_1_empty
    if "!event!"=="ok" goto s_1_1
    goto s_win32
:s_1_1
    if "!debug!"=="1" echo Event: ok
    set event=
    if "!debug!"=="1" echo Action: check operating context
    set _exception=
    call :a_check_operating_context
    if "!_exception!"=="1" exit /b 1
    set state=initial_check
    goto s_!state!
:s_1_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_initial
:r_initial
    goto r_win32

:s_initial_check
    if "!debug!"=="1" echo State: initial check
    if "!event!"=="" goto s_2_empty
    if "!event!"=="repository" goto s_2_1
    if "!event!"=="source" goto s_2_2
    if "!event!"=="stripped" goto s_2_3
    goto s_win32
:s_2_1
    if "!debug!"=="1" echo Event: repository
    set event=
    set state=repository
    goto s_!state!
:s_2_2
    if "!debug!"=="1" echo Event: source
    set event=
    set state=source
    goto s_!state!
:s_2_3
    if "!debug!"=="1" echo Event: stripped
    set event=
    set state=stripped
    goto s_!state!
:s_2_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_initial_check
:r_initial_check
    goto r_win32

:s_repository
    if "!debug!"=="1" echo State: repository
    if "!event!"=="" goto s_3_empty
    if "!event!"=="build" goto s_3_1
    if "!event!"=="compile" goto s_3_2
    if "!event!"=="clean" goto s_3_3
    if "!event!"=="regen" goto s_3_4
    if "!event!"=="allgen" goto s_3_5
    if "!event!"=="distrib" goto s_3_6
    if "!event!"=="distsrc" goto s_3_7
    if "!event!"=="distrev" goto s_3_8
    goto s_default
:s_3_1
    if "!debug!"=="1" echo Event: build
    set event=
    if "!debug!"=="1" echo Action: check project files exist
    set _exception=
    call :a_check_project_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: produce generated files
    set _exception=
    call :a_produce_generated_files
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: check source files exist
    set _exception=
    call :a_check_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build binary files
    set _exception=
    call :a_build_binary_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_2
    if "!debug!"=="1" echo Event: compile
    set event=
    if "!debug!"=="1" echo Action: check source files exist
    set _exception=
    call :a_check_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build binary files
    set _exception=
    call :a_build_binary_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_3
    if "!debug!"=="1" echo Event: clean
    set event=
    if "!debug!"=="1" echo Action: remove generated sources
    set _exception=
    call :a_remove_generated_sources
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: remove generated binaries
    set _exception=
    call :a_remove_generated_binaries
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_4
    if "!debug!"=="1" echo Event: regen
    set event=
    if "!debug!"=="1" echo Action: check project files exist
    set _exception=
    call :a_check_project_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: produce generated files
    set _exception=
    call :a_produce_generated_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_5
    if "!debug!"=="1" echo Event: allgen
    set event=
    if "!debug!"=="1" echo Action: check project files exist
    set _exception=
    call :a_check_project_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: produce all generated files
    set _exception=
    call :a_produce_all_generated_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_6
    if "!debug!"=="1" echo Event: distrib
    set event=
    if "!debug!"=="1" echo Action: produce all generated files
    set _exception=
    call :a_produce_all_generated_files
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: check all source files exist
    set _exception=
    call :a_check_all_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build source packages
    set _exception=
    call :a_build_source_packages
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_7
    if "!debug!"=="1" echo Event: distsrc
    set event=
    if "!debug!"=="1" echo Action: produce all generated files
    set _exception=
    call :a_produce_all_generated_files
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: check all source files exist
    set _exception=
    call :a_check_all_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build source packages
    set _exception=
    call :a_build_source_packages
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_8
    if "!debug!"=="1" echo Event: distrev
    set event=
    if "!debug!"=="1" echo Action: produce all generated files
    set _exception=
    call :a_produce_all_generated_files
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: check all source files exist
    set _exception=
    call :a_check_all_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: use source control revision
    set _exception=
    call :a_use_source_control_revision
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build source packages
    set _exception=
    call :a_build_source_packages
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_repository
:r_repository
echo build:
    echo   From the raw project sources, produces all generated files, and
    echo     compiles all source files.
echo compile:
    echo   From the raw project sources, compiles all source files without any
    echo     code generation.
echo clean:
    echo   When working with the raw project sources, removes all generated
    echo     source and binary files from the project directory.
echo regen:
    echo   Produces generated files required for building using the
    echo     current model.
echo allgen:
    echo   Produces all generated files.
echo distrib:
    echo   Creates a source distribution for the project.  Note that binary
    echo     distributions can only be created at the product level.
echo distsrc:
    echo   Equivalent to distrib, provided for compatibility.
echo distrev:
    echo   Creates a source distribution for the project.  Builds distribution
    echo     packages based on source control version number. Note that binary
    echo     distributions can only be created at the product level.
    goto r_default

:s_source
    if "!debug!"=="1" echo State: source
    if "!event!"=="" goto s_4_empty
    if "!event!"=="build" goto s_4_1
    if "!event!"=="clean" goto s_4_2
    if "!event!"=="regen" goto s_4_3
    if "!event!"=="allgen" goto s_4_4
    goto s_default
:s_4_1
    if "!debug!"=="1" echo Event: build
    set event=
    if "!debug!"=="1" echo Action: check source files exist
    set _exception=
    call :a_check_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build binary files
    set _exception=
    call :a_build_binary_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_4_2
    if "!debug!"=="1" echo Event: clean
    set event=
    if "!debug!"=="1" echo Action: remove generated binaries
    set _exception=
    call :a_remove_generated_binaries
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_4_3
    if "!debug!"=="1" echo Event: regen
    set event=
    if "!debug!"=="1" echo Action: check project files exist
    set _exception=
    call :a_check_project_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: produce generated files
    set _exception=
    call :a_produce_generated_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_4_4
    if "!debug!"=="1" echo Event: allgen
    set event=
    if "!debug!"=="1" echo Action: check project files exist
    set _exception=
    call :a_check_project_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: produce all generated files
    set _exception=
    call :a_produce_all_generated_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_4_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_source
:r_source
echo build:
    echo   From the packaged sources, compiles all source files without any
    echo     code generation.
echo clean:
    echo   When working with the packaged sources, removes all generated
    echo     binary files from the project directory.
echo regen:
    echo   Produces generated files required for building using the
    echo     current model.
echo allgen:
    echo   Produces all generated files.
    goto r_default

:s_stripped
    if "!debug!"=="1" echo State: stripped
    if "!event!"=="" goto s_5_empty
    if "!event!"=="build" goto s_5_1
    if "!event!"=="clean" goto s_5_2
    goto s_default
:s_5_1
    if "!debug!"=="1" echo Event: build
    set event=
    if "!debug!"=="1" echo Action: build binary files
    set _exception=
    call :a_build_binary_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_5_2
    if "!debug!"=="1" echo Event: clean
    set event=
    if "!debug!"=="1" echo Action: remove generated binaries
    set _exception=
    call :a_remove_generated_binaries
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_5_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_stripped
:r_stripped
echo build:
    echo   From the stripped-down packaged sources, compiles all source files
    echo     without any code generation.
echo clean:
    echo   When working with the packaged sources, removes all generated
    echo     binary files from the project directory.
    goto r_default

:s_default
    if "!debug!"=="1" echo State: default
    if "!event!"=="" goto s_6_empty
    if "!event!"=="install" goto s_6_1
    if "!event!"=="test" goto s_6_2
    if "!event!"=="help" goto s_6_3
    if "!event!"=="version" goto s_6_4
    if "!event!"=="empty" goto s_6_5
    goto s_win32
:s_6_1
    if "!debug!"=="1" echo Event: install
    set event=
    if "!debug!"=="1" echo Action: check binary files exist
    set _exception=
    call :a_check_binary_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: install deliverables
    set _exception=
    call :a_install_deliverables
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_6_2
    if "!debug!"=="1" echo Event: test
    set event=
    if "!debug!"=="1" echo Action: check binary files exist
    set _exception=
    call :a_check_binary_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: run regression tests
    set _exception=
    call :a_run_regression_tests
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_6_3
    if "!debug!"=="1" echo Event: help
    set event=
    if "!debug!"=="1" echo Action: report help information
    set _exception=
    call :a_report_help_information
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_6_4
    if "!debug!"=="1" echo Event: version
    set event=
    if "!debug!"=="1" echo Action: report project version
    set _exception=
    call :a_report_project_version
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_6_5
    if "!debug!"=="1" echo Event: empty
    set event=
    if "!debug!"=="1" echo Action: report help information
    set _exception=
    call :a_report_help_information
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_6_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_default
:r_default
echo install:
    echo   Installs deliverables into the final or temporary install tree.
    echo     This action is only valid after a successful build.
echo test:
    echo   Runs regression tests for the project.
echo help:
    echo   Shows a list of the commands allowed on the project.
echo version:
    echo   Show project version.
    goto r_win32


exit /b 0
