@echo off
:-
:-  Boom builder for iCL 1.0a1
:-  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.0a1
set OLDPATH=!PATH!
set OLDPERLLIB=!PERLLIB!
if .!IBASE!==. (
    echo boom E: [iCL]: The IBASE variable is not set.             Please set it to the location where iCL 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 icl\version.h echo icl\version.h>>_package.lst
    if exist icl\icl_stdc.xnf echo icl\icl_stdc.xnf>>_package.lst
    if exist icl\icl.xnf echo icl\icl.xnf>>_package.lst
    if exist icl\icl_gen.gsl echo icl\icl_gen.gsl>>_package.lst
    if exist icl\icl_preproc.gsl echo icl\icl_preproc.gsl>>_package.lst
    if exist icl\icl_inherit.gsl echo icl\icl_inherit.gsl>>_package.lst
    if exist icl\icl_parse.gsl echo icl\icl_parse.gsl>>_package.lst
    if exist icl\icl_doc.txt echo icl\icl_doc.txt>>_package.lst
    if exist icl\base.h echo icl\base.h>>_package.lst
    if exist icl\icl_stdc.gsl echo icl\icl_stdc.gsl>>_package.lst
    if exist icl\icl_stdc_lib.gsl echo icl\icl_stdc_lib.gsl>>_package.lst
    if exist icl\icl_perl.gsl echo icl\icl_perl.gsl>>_package.lst
    if exist icl\icl_java.gsl echo icl\icl_java.gsl>>_package.lst
    if exist icl\icl_ruby.gsl echo icl\icl_ruby.gsl>>_package.lst
    if exist icl\icl_doc.gsl echo icl\icl_doc.gsl>>_package.lst
    if exist icl\icl_classes.pdl echo icl\icl_classes.pdl>>_package.lst
    if exist icl\icl_base.icl echo icl\icl_base.icl>>_package.lst
    if exist icl\icl_init.icl echo icl\icl_init.icl>>_package.lst
    if exist icl\icl_object.icl echo icl\icl_object.icl>>_package.lst
    if exist icl\icl_thread.icl echo icl\icl_thread.icl>>_package.lst
    if exist icl\icl_mutex.icl echo icl\icl_mutex.icl>>_package.lst
    if exist icl\icl_cond.icl echo icl\icl_cond.icl>>_package.lst
    if exist icl\icl_rwlock.icl echo icl\icl_rwlock.icl>>_package.lst
    if exist icl\icl_apr.icl echo icl\icl_apr.icl>>_package.lst
    if exist icl\icl_stats.icl echo icl\icl_stats.icl>>_package.lst
    if exist icl\icl_trace.icl echo icl\icl_trace.icl>>_package.lst
    if exist icl\icl_destroy.icl echo icl\icl_destroy.icl>>_package.lst
    if exist icl\icl_destroy_list.icl echo icl\icl_destroy_list.icl>>_package.lst
    if exist icl\icl_system.icl echo icl\icl_system.icl>>_package.lst
    if exist icl\icl_system_list.icl echo icl\icl_system_list.icl>>_package.lst
    if exist icl\icl_console.icl echo icl\icl_console.icl>>_package.lst
    if exist icl\icl_longstr.icl echo icl\icl_longstr.icl>>_package.lst
    if exist icl\icl_shortstr.icl echo icl\icl_shortstr.icl>>_package.lst
    if exist icl\icl_tracker.icl echo icl\icl_tracker.icl>>_package.lst
    if exist icl\icl_mem.icl echo icl\icl_mem.icl>>_package.lst
    if exist icl\icl_mem_lib.icl echo icl\icl_mem_lib.icl>>_package.lst
    if exist icl\icl_mem_fat.icl echo icl\icl_mem_fat.icl>>_package.lst
    if exist icl\icl_mem_fat_list.icl echo icl\icl_mem_fat_list.icl>>_package.lst
    if exist icl\icl_mem_thin.icl echo icl\icl_mem_thin.icl>>_package.lst
    if exist icl\icl_mem_thin_list.icl echo icl\icl_mem_thin_list.icl>>_package.lst
    if exist icl\icl_cache.icl echo icl\icl_cache.icl>>_package.lst
    if exist icl\icl_cache_list.icl echo icl\icl_cache_list.icl>>_package.lst
    if exist icl\icl_list_item.icl echo icl\icl_list_item.icl>>_package.lst
    if exist icl\icl_list_head.icl echo icl\icl_list_head.icl>>_package.lst
    if exist icl\icl_hash_item.icl echo icl\icl_hash_item.icl>>_package.lst
    if exist icl\icl_hash_head.icl echo icl\icl_hash_head.icl>>_package.lst
    if exist icl\icl_array_item.icl echo icl\icl_array_item.icl>>_package.lst
    if exist icl\icl_array_head.icl echo icl\icl_array_head.icl>>_package.lst
    if exist icl\icl_stack_item.icl echo icl\icl_stack_item.icl>>_package.lst
    if exist icl\icl_stack_head.icl echo icl\icl_stack_head.icl>>_package.lst
    if exist icl\icl_queue_item.icl echo icl\icl_queue_item.icl>>_package.lst
    if exist icl\icl_queue_head.icl echo icl\icl_queue_head.icl>>_package.lst
    if exist icl\icl_iter_list_item.icl echo icl\icl_iter_list_item.icl>>_package.lst
    if exist icl\icl_iter_list_head.icl echo icl\icl_iter_list_head.icl>>_package.lst
    if exist icl\icl_stats_examine.c echo icl\icl_stats_examine.c>>_package.lst
    if exist icl\icl_demo_rwlock.icl echo icl\icl_demo_rwlock.icl>>_package.lst
    if exist icl\icl_demo_thread.icl echo icl\icl_demo_thread.icl>>_package.lst
    if exist icl\icl_demo_plain.icl echo icl\icl_demo_plain.icl>>_package.lst
    if exist icl\icl_demo_cache.icl echo icl\icl_demo_cache.icl>>_package.lst
    if exist icl\icl_demo_local.icl echo icl\icl_demo_local.icl>>_package.lst
    if exist icl\icl_demo_possess.icl echo icl\icl_demo_possess.icl>>_package.lst
    if exist icl\icl_demo_links.icl echo icl\icl_demo_links.icl>>_package.lst
    if exist icl\icl_demo_list.icl echo icl\icl_demo_list.icl>>_package.lst
    if exist icl\icl_demo_list_list.icl echo icl\icl_demo_list_list.icl>>_package.lst
    if exist icl\icl_demo_list2.icl echo icl\icl_demo_list2.icl>>_package.lst
    if exist icl\icl_demo_list2_list.icl echo icl\icl_demo_list2_list.icl>>_package.lst
    if exist icl\icl_demo_list2_list2.icl echo icl\icl_demo_list2_list2.icl>>_package.lst
    if exist icl\icl_demo_hash_int.icl echo icl\icl_demo_hash_int.icl>>_package.lst
    if exist icl\icl_demo_hash_int_table.icl echo icl\icl_demo_hash_int_table.icl>>_package.lst
    if exist icl\icl_demo_hash_str.icl echo icl\icl_demo_hash_str.icl>>_package.lst
    if exist icl\icl_demo_hash_str_table.icl echo icl\icl_demo_hash_str_table.icl>>_package.lst
    if exist icl\icl_demo_hash_lstr.icl echo icl\icl_demo_hash_lstr.icl>>_package.lst
    if exist icl\icl_demo_hash_lstr_table.icl echo icl\icl_demo_hash_lstr_table.icl>>_package.lst
    if exist icl\icl_demo_serial.icl echo icl\icl_demo_serial.icl>>_package.lst
    if exist icl\icl_demo_array.icl echo icl\icl_demo_array.icl>>_package.lst
    if exist icl\icl_demo_array_array.icl echo icl\icl_demo_array_array.icl>>_package.lst
    if exist icl\icl_demo_stack.icl echo icl\icl_demo_stack.icl>>_package.lst
    if exist icl\icl_demo_stack_stack.icl echo icl\icl_demo_stack_stack.icl>>_package.lst
    if exist icl\icl_demo_queue.icl echo icl\icl_demo_queue.icl>>_package.lst
    if exist icl\icl_demo_queue_queue.icl echo icl\icl_demo_queue_queue.icl>>_package.lst
    if exist icl\icl_demo_scope.icl echo icl\icl_demo_scope.icl>>_package.lst
    if exist icl\icl_list_lib.gsl echo icl\icl_list_lib.gsl>>_package.lst
    if exist icl\icl_list_head.gsl echo icl\icl_list_head.gsl>>_package.lst
    if exist icl\icl_iter_list_head.gsl echo icl\icl_iter_list_head.gsl>>_package.lst
    if exist icl\icl_hash_head.gsl echo icl\icl_hash_head.gsl>>_package.lst
    if exist icl\icl_array_head.gsl echo icl\icl_array_head.gsl>>_package.lst
    if exist icl\icl_stack_head.gsl echo icl\icl_stack_head.gsl>>_package.lst
    if exist icl\icl_queue_head.gsl echo icl\icl_queue_head.gsl>>_package.lst
    if exist icl\icl_serialise.gsl echo icl\icl_serialise.gsl>>_package.lst
    if exist icl\icl.h echo icl\icl.h>>_package.lst
    if exist icl\icl_prettyc.pl echo icl\icl_prettyc.pl>>_package.lst
    if exist icl\icl_make_doc.sh echo icl\icl_make_doc.sh>>_package.lst
    if exist icl\icl_make_doc.ignore echo icl\icl_make_doc.ignore>>_package.lst
    if exist icl\prelude.pdl echo icl\prelude.pdl>>_package.lst
    if exist icl\license.gpl echo icl\license.gpl>>_package.lst
    if exist icl\project.pdl echo icl\project.pdl>>_package.lst
    if exist icl\readme.txt echo icl\readme.txt>>_package.lst
    if exist icl\icl_mutex_test.c echo icl\icl_mutex_test.c>>_package.lst
    if exist icl\icl_mutex.h echo icl\icl_mutex.h>>_package.lst
    if exist icl\icl_mutex.c echo icl\icl_mutex.c>>_package.lst
    if exist icl\icl_cond_test.c echo icl\icl_cond_test.c>>_package.lst
    if exist icl\icl_cond.h echo icl\icl_cond.h>>_package.lst
    if exist icl\icl_cond.c echo icl\icl_cond.c>>_package.lst
    if exist icl\icl_rwlock_test.c echo icl\icl_rwlock_test.c>>_package.lst
    if exist icl\icl_rwlock.h echo icl\icl_rwlock.h>>_package.lst
    if exist icl\icl_rwlock.c echo icl\icl_rwlock.c>>_package.lst
    if exist icl\icl_apr_test.c echo icl\icl_apr_test.c>>_package.lst
    if exist icl\icl_apr.h echo icl\icl_apr.h>>_package.lst
    if exist icl\icl_apr.c echo icl\icl_apr.c>>_package.lst
    if exist icl\icl_stats_test.c echo icl\icl_stats_test.c>>_package.lst
    if exist icl\icl_stats.h echo icl\icl_stats.h>>_package.lst
    if exist icl\icl_stats.c echo icl\icl_stats.c>>_package.lst
    if exist icl\icl_trace_test.c echo icl\icl_trace_test.c>>_package.lst
    if exist icl\icl_trace.h echo icl\icl_trace.h>>_package.lst
    if exist icl\icl_trace.c echo icl\icl_trace.c>>_package.lst
    if exist icl\icl_destroy_test.c echo icl\icl_destroy_test.c>>_package.lst
    if exist icl\icl_destroy.h echo icl\icl_destroy.h>>_package.lst
    if exist icl\icl_destroy.c echo icl\icl_destroy.c>>_package.lst
    if exist icl\icl_destroy_list_test.c echo icl\icl_destroy_list_test.c>>_package.lst
    if exist icl\icl_destroy_list.h echo icl\icl_destroy_list.h>>_package.lst
    if exist icl\icl_destroy_list.c echo icl\icl_destroy_list.c>>_package.lst
    if exist icl\icl_system_test.c echo icl\icl_system_test.c>>_package.lst
    if exist icl\icl_system.h echo icl\icl_system.h>>_package.lst
    if exist icl\icl_system.c echo icl\icl_system.c>>_package.lst
    if exist icl\icl_system_list_test.c echo icl\icl_system_list_test.c>>_package.lst
    if exist icl\icl_system_list.h echo icl\icl_system_list.h>>_package.lst
    if exist icl\icl_system_list.c echo icl\icl_system_list.c>>_package.lst
    if exist icl\icl_console_test.c echo icl\icl_console_test.c>>_package.lst
    if exist icl\icl_console.h echo icl\icl_console.h>>_package.lst
    if exist icl\icl_console.c echo icl\icl_console.c>>_package.lst
    if exist icl\icl_longstr_test.c echo icl\icl_longstr_test.c>>_package.lst
    if exist icl\icl_longstr.h echo icl\icl_longstr.h>>_package.lst
    if exist icl\icl_longstr.c echo icl\icl_longstr.c>>_package.lst
    if exist icl\icl_shortstr_test.c echo icl\icl_shortstr_test.c>>_package.lst
    if exist icl\icl_shortstr.h echo icl\icl_shortstr.h>>_package.lst
    if exist icl\icl_shortstr.c echo icl\icl_shortstr.c>>_package.lst
    if exist icl\icl_mem_test.c echo icl\icl_mem_test.c>>_package.lst
    if exist icl\icl_mem.h echo icl\icl_mem.h>>_package.lst
    if exist icl\icl_mem.c echo icl\icl_mem.c>>_package.lst
    if exist icl\icl_mem_fat_test.c echo icl\icl_mem_fat_test.c>>_package.lst
    if exist icl\icl_mem_fat.h echo icl\icl_mem_fat.h>>_package.lst
    if exist icl\icl_mem_fat.c echo icl\icl_mem_fat.c>>_package.lst
    if exist icl\icl_mem_fat_list_test.c echo icl\icl_mem_fat_list_test.c>>_package.lst
    if exist icl\icl_mem_fat_list.h echo icl\icl_mem_fat_list.h>>_package.lst
    if exist icl\icl_mem_fat_list.c echo icl\icl_mem_fat_list.c>>_package.lst
    if exist icl\icl_mem_thin_test.c echo icl\icl_mem_thin_test.c>>_package.lst
    if exist icl\icl_mem_thin.h echo icl\icl_mem_thin.h>>_package.lst
    if exist icl\icl_mem_thin.c echo icl\icl_mem_thin.c>>_package.lst
    if exist icl\icl_mem_thin_list_test.c echo icl\icl_mem_thin_list_test.c>>_package.lst
    if exist icl\icl_mem_thin_list.h echo icl\icl_mem_thin_list.h>>_package.lst
    if exist icl\icl_mem_thin_list.c echo icl\icl_mem_thin_list.c>>_package.lst
    if exist icl\icl_cache_test.c echo icl\icl_cache_test.c>>_package.lst
    if exist icl\icl_cache.h echo icl\icl_cache.h>>_package.lst
    if exist icl\icl_cache.c echo icl\icl_cache.c>>_package.lst
    if exist icl\icl_cache_list_test.c echo icl\icl_cache_list_test.c>>_package.lst
    if exist icl\icl_cache_list.h echo icl\icl_cache_list.h>>_package.lst
    if exist icl\icl_cache_list.c echo icl\icl_cache_list.c>>_package.lst
    if exist icl\icl_demo_rwlock_test.c echo icl\icl_demo_rwlock_test.c>>_package.lst
    if exist icl\icl_demo_rwlock.h echo icl\icl_demo_rwlock.h>>_package.lst
    if exist icl\icl_demo_rwlock.c echo icl\icl_demo_rwlock.c>>_package.lst
    if exist icl\icl_demo_thread_test.c echo icl\icl_demo_thread_test.c>>_package.lst
    if exist icl\icl_demo_thread.h echo icl\icl_demo_thread.h>>_package.lst
    if exist icl\icl_demo_thread.c echo icl\icl_demo_thread.c>>_package.lst
    if exist icl\icl_demo_plain_test.c echo icl\icl_demo_plain_test.c>>_package.lst
    if exist icl\icl_demo_plain.h echo icl\icl_demo_plain.h>>_package.lst
    if exist icl\icl_demo_plain.c echo icl\icl_demo_plain.c>>_package.lst
    if exist icl\icl_demo_cache_test.c echo icl\icl_demo_cache_test.c>>_package.lst
    if exist icl\icl_demo_cache.h echo icl\icl_demo_cache.h>>_package.lst
    if exist icl\icl_demo_cache.c echo icl\icl_demo_cache.c>>_package.lst
    if exist icl\icl_demo_local_test.c echo icl\icl_demo_local_test.c>>_package.lst
    if exist icl\icl_demo_local.h echo icl\icl_demo_local.h>>_package.lst
    if exist icl\icl_demo_local.c echo icl\icl_demo_local.c>>_package.lst
    if exist icl\icl_demo_possess_test.c echo icl\icl_demo_possess_test.c>>_package.lst
    if exist icl\icl_demo_possess.h echo icl\icl_demo_possess.h>>_package.lst
    if exist icl\icl_demo_possess.c echo icl\icl_demo_possess.c>>_package.lst
    if exist icl\icl_demo_links_test.c echo icl\icl_demo_links_test.c>>_package.lst
    if exist icl\icl_demo_links.h echo icl\icl_demo_links.h>>_package.lst
    if exist icl\icl_demo_links.c echo icl\icl_demo_links.c>>_package.lst
    if exist icl\icl_demo_list_test.c echo icl\icl_demo_list_test.c>>_package.lst
    if exist icl\icl_demo_list.h echo icl\icl_demo_list.h>>_package.lst
    if exist icl\icl_demo_list.c echo icl\icl_demo_list.c>>_package.lst
    if exist icl\icl_demo_list_list_test.c echo icl\icl_demo_list_list_test.c>>_package.lst
    if exist icl\icl_demo_list_list.h echo icl\icl_demo_list_list.h>>_package.lst
    if exist icl\icl_demo_list_list.c echo icl\icl_demo_list_list.c>>_package.lst
    if exist icl\icl_demo_list2_test.c echo icl\icl_demo_list2_test.c>>_package.lst
    if exist icl\icl_demo_list2.h echo icl\icl_demo_list2.h>>_package.lst
    if exist icl\icl_demo_list2.c echo icl\icl_demo_list2.c>>_package.lst
    if exist icl\icl_demo_list2_list_test.c echo icl\icl_demo_list2_list_test.c>>_package.lst
    if exist icl\icl_demo_list2_list.h echo icl\icl_demo_list2_list.h>>_package.lst
    if exist icl\icl_demo_list2_list.c echo icl\icl_demo_list2_list.c>>_package.lst
    if exist icl\icl_demo_list2_list2_test.c echo icl\icl_demo_list2_list2_test.c>>_package.lst
    if exist icl\icl_demo_list2_list2.h echo icl\icl_demo_list2_list2.h>>_package.lst
    if exist icl\icl_demo_list2_list2.c echo icl\icl_demo_list2_list2.c>>_package.lst
    if exist icl\icl_demo_hash_int_test.c echo icl\icl_demo_hash_int_test.c>>_package.lst
    if exist icl\icl_demo_hash_int.h echo icl\icl_demo_hash_int.h>>_package.lst
    if exist icl\icl_demo_hash_int.c echo icl\icl_demo_hash_int.c>>_package.lst
    if exist icl\icl_demo_hash_int_table_test.c echo icl\icl_demo_hash_int_table_test.c>>_package.lst
    if exist icl\icl_demo_hash_int_table.h echo icl\icl_demo_hash_int_table.h>>_package.lst
    if exist icl\icl_demo_hash_int_table.c echo icl\icl_demo_hash_int_table.c>>_package.lst
    if exist icl\icl_demo_hash_str_test.c echo icl\icl_demo_hash_str_test.c>>_package.lst
    if exist icl\icl_demo_hash_str.h echo icl\icl_demo_hash_str.h>>_package.lst
    if exist icl\icl_demo_hash_str.c echo icl\icl_demo_hash_str.c>>_package.lst
    if exist icl\icl_demo_hash_str_table_test.c echo icl\icl_demo_hash_str_table_test.c>>_package.lst
    if exist icl\icl_demo_hash_str_table.h echo icl\icl_demo_hash_str_table.h>>_package.lst
    if exist icl\icl_demo_hash_str_table.c echo icl\icl_demo_hash_str_table.c>>_package.lst
    if exist icl\icl_demo_hash_lstr_test.c echo icl\icl_demo_hash_lstr_test.c>>_package.lst
    if exist icl\icl_demo_hash_lstr.h echo icl\icl_demo_hash_lstr.h>>_package.lst
    if exist icl\icl_demo_hash_lstr.c echo icl\icl_demo_hash_lstr.c>>_package.lst
    if exist icl\icl_demo_hash_lstr_table_test.c echo icl\icl_demo_hash_lstr_table_test.c>>_package.lst
    if exist icl\icl_demo_hash_lstr_table.h echo icl\icl_demo_hash_lstr_table.h>>_package.lst
    if exist icl\icl_demo_hash_lstr_table.c echo icl\icl_demo_hash_lstr_table.c>>_package.lst
    if exist icl\icl_demo_serial_test.c echo icl\icl_demo_serial_test.c>>_package.lst
    if exist icl\icl_demo_serial.h echo icl\icl_demo_serial.h>>_package.lst
    if exist icl\icl_demo_serial.c echo icl\icl_demo_serial.c>>_package.lst
    if exist icl\icl_demo_array_test.c echo icl\icl_demo_array_test.c>>_package.lst
    if exist icl\icl_demo_array.h echo icl\icl_demo_array.h>>_package.lst
    if exist icl\icl_demo_array.c echo icl\icl_demo_array.c>>_package.lst
    if exist icl\icl_demo_array_array_test.c echo icl\icl_demo_array_array_test.c>>_package.lst
    if exist icl\icl_demo_array_array.h echo icl\icl_demo_array_array.h>>_package.lst
    if exist icl\icl_demo_array_array.c echo icl\icl_demo_array_array.c>>_package.lst
    if exist icl\icl_demo_stack_test.c echo icl\icl_demo_stack_test.c>>_package.lst
    if exist icl\icl_demo_stack.h echo icl\icl_demo_stack.h>>_package.lst
    if exist icl\icl_demo_stack.c echo icl\icl_demo_stack.c>>_package.lst
    if exist icl\icl_demo_stack_stack_test.c echo icl\icl_demo_stack_stack_test.c>>_package.lst
    if exist icl\icl_demo_stack_stack.h echo icl\icl_demo_stack_stack.h>>_package.lst
    if exist icl\icl_demo_stack_stack.c echo icl\icl_demo_stack_stack.c>>_package.lst
    if exist icl\icl_demo_queue_test.c echo icl\icl_demo_queue_test.c>>_package.lst
    if exist icl\icl_demo_queue.h echo icl\icl_demo_queue.h>>_package.lst
    if exist icl\icl_demo_queue.c echo icl\icl_demo_queue.c>>_package.lst
    if exist icl\icl_demo_queue_queue_test.c echo icl\icl_demo_queue_queue_test.c>>_package.lst
    if exist icl\icl_demo_queue_queue.h echo icl\icl_demo_queue_queue.h>>_package.lst
    if exist icl\icl_demo_queue_queue.c echo icl\icl_demo_queue_queue.c>>_package.lst
    if exist icl\icl_demo_scope_test.c echo icl\icl_demo_scope_test.c>>_package.lst
    if exist icl\icl_demo_scope.h echo icl\icl_demo_scope.h>>_package.lst
    if exist icl\icl_demo_scope.c echo icl\icl_demo_scope.c>>_package.lst
    if exist icl\stamp_generate echo icl\stamp_generate>>_package.lst
    if exist icl\configure echo icl\configure>>_package.lst
    if exist icl\Makefile.unix echo icl\Makefile.unix>>_package.lst
    if exist icl\boomake echo icl\boomake>>_package.lst
    if exist icl\configure.bat echo icl\configure.bat>>_package.lst
    if exist icl\Makefile.win32 echo icl\Makefile.win32>>_package.lst
    if exist icl\boomake.bat echo icl\boomake.bat>>_package.lst
    if exist icl\boomakew.bat echo icl\boomakew.bat>>_package.lst
    if exist icl\libicl.vcproj echo icl\libicl.vcproj>>_package.lst
    echo "Source package successfully generated">stamp_source
    echo "stamp_source">>_package.lst
    echo boom I: [iCL]: Building iCL-!MY_VERSION!-src.zip...
    zip  -rq _package -@<_package.lst
    unzip -q _package -d iCL-!MY_VERSION!
    if exist  iCL-!MY_VERSION!-src.zip del iCL-!MY_VERSION!-src.zip
    zip -rmq iCL-!MY_VERSION!-src.zip iCL-!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: [iCL]: version.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc.xnf (
        echo boom E: [iCL]: icl_stdc.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl.xnf (
        echo boom E: [iCL]: icl.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_gen.gsl (
        echo boom E: [iCL]: icl_gen.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_preproc.gsl (
        echo boom E: [iCL]: icl_preproc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_inherit.gsl (
        echo boom E: [iCL]: icl_inherit.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_parse.gsl (
        echo boom E: [iCL]: icl_parse.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_doc.txt (
        echo boom E: [iCL]: icl_doc.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist base.h (
        echo boom E: [iCL]: base.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc.gsl (
        echo boom E: [iCL]: icl_stdc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc_lib.gsl (
        echo boom E: [iCL]: icl_stdc_lib.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_perl.gsl (
        echo boom E: [iCL]: icl_perl.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_java.gsl (
        echo boom E: [iCL]: icl_java.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_ruby.gsl (
        echo boom E: [iCL]: icl_ruby.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_doc.gsl (
        echo boom E: [iCL]: icl_doc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_classes.pdl (
        echo boom E: [iCL]: icl_classes.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_base.icl (
        echo boom E: [iCL]: icl_base.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_init.icl (
        echo boom E: [iCL]: icl_init.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_object.icl (
        echo boom E: [iCL]: icl_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_thread.icl (
        echo boom E: [iCL]: icl_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mutex.icl (
        echo boom E: [iCL]: icl_mutex.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cond.icl (
        echo boom E: [iCL]: icl_cond.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_rwlock.icl (
        echo boom E: [iCL]: icl_rwlock.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_apr.icl (
        echo boom E: [iCL]: icl_apr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats.icl (
        echo boom E: [iCL]: icl_stats.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_trace.icl (
        echo boom E: [iCL]: icl_trace.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy.icl (
        echo boom E: [iCL]: icl_destroy.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_list.icl (
        echo boom E: [iCL]: icl_destroy_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system.icl (
        echo boom E: [iCL]: icl_system.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_list.icl (
        echo boom E: [iCL]: icl_system_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_console.icl (
        echo boom E: [iCL]: icl_console.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_longstr.icl (
        echo boom E: [iCL]: icl_longstr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_shortstr.icl (
        echo boom E: [iCL]: icl_shortstr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_tracker.icl (
        echo boom E: [iCL]: icl_tracker.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem.icl (
        echo boom E: [iCL]: icl_mem.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_lib.icl (
        echo boom E: [iCL]: icl_mem_lib.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat.icl (
        echo boom E: [iCL]: icl_mem_fat.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_list.icl (
        echo boom E: [iCL]: icl_mem_fat_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin.icl (
        echo boom E: [iCL]: icl_mem_thin.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_list.icl (
        echo boom E: [iCL]: icl_mem_thin_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache.icl (
        echo boom E: [iCL]: icl_cache.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_list.icl (
        echo boom E: [iCL]: icl_cache_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_item.icl (
        echo boom E: [iCL]: icl_list_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_head.icl (
        echo boom E: [iCL]: icl_list_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_item.icl (
        echo boom E: [iCL]: icl_hash_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_head.icl (
        echo boom E: [iCL]: icl_hash_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_item.icl (
        echo boom E: [iCL]: icl_array_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_head.icl (
        echo boom E: [iCL]: icl_array_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_item.icl (
        echo boom E: [iCL]: icl_stack_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_head.icl (
        echo boom E: [iCL]: icl_stack_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_item.icl (
        echo boom E: [iCL]: icl_queue_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_head.icl (
        echo boom E: [iCL]: icl_queue_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_item.icl (
        echo boom E: [iCL]: icl_iter_list_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_head.icl (
        echo boom E: [iCL]: icl_iter_list_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats_examine.c (
        echo boom E: [iCL]: icl_stats_examine.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_rwlock.icl (
        echo boom E: [iCL]: icl_demo_rwlock.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_thread.icl (
        echo boom E: [iCL]: icl_demo_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_plain.icl (
        echo boom E: [iCL]: icl_demo_plain.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_cache.icl (
        echo boom E: [iCL]: icl_demo_cache.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_local.icl (
        echo boom E: [iCL]: icl_demo_local.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_possess.icl (
        echo boom E: [iCL]: icl_demo_possess.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_links.icl (
        echo boom E: [iCL]: icl_demo_links.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list.icl (
        echo boom E: [iCL]: icl_demo_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_list.icl (
        echo boom E: [iCL]: icl_demo_list_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2.icl (
        echo boom E: [iCL]: icl_demo_list2.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list.icl (
        echo boom E: [iCL]: icl_demo_list2_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list2.icl (
        echo boom E: [iCL]: icl_demo_list2_list2.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int.icl (
        echo boom E: [iCL]: icl_demo_hash_int.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_table.icl (
        echo boom E: [iCL]: icl_demo_hash_int_table.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str.icl (
        echo boom E: [iCL]: icl_demo_hash_str.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_table.icl (
        echo boom E: [iCL]: icl_demo_hash_str_table.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr.icl (
        echo boom E: [iCL]: icl_demo_hash_lstr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_table.icl (
        echo boom E: [iCL]: icl_demo_hash_lstr_table.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_serial.icl (
        echo boom E: [iCL]: icl_demo_serial.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array.icl (
        echo boom E: [iCL]: icl_demo_array.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_array.icl (
        echo boom E: [iCL]: icl_demo_array_array.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack.icl (
        echo boom E: [iCL]: icl_demo_stack.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_stack.icl (
        echo boom E: [iCL]: icl_demo_stack_stack.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue.icl (
        echo boom E: [iCL]: icl_demo_queue.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_queue.icl (
        echo boom E: [iCL]: icl_demo_queue_queue.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_scope.icl (
        echo boom E: [iCL]: icl_demo_scope.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_lib.gsl (
        echo boom E: [iCL]: icl_list_lib.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_head.gsl (
        echo boom E: [iCL]: icl_list_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_head.gsl (
        echo boom E: [iCL]: icl_iter_list_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_head.gsl (
        echo boom E: [iCL]: icl_hash_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_head.gsl (
        echo boom E: [iCL]: icl_array_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_head.gsl (
        echo boom E: [iCL]: icl_stack_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_head.gsl (
        echo boom E: [iCL]: icl_queue_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_serialise.gsl (
        echo boom E: [iCL]: icl_serialise.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl.h (
        echo boom E: [iCL]: icl.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_prettyc.pl (
        echo boom E: [iCL]: icl_prettyc.pl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_make_doc.sh (
        echo boom E: [iCL]: icl_make_doc.sh is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_make_doc.ignore (
        echo boom E: [iCL]: icl_make_doc.ignore is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [iCL]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [iCL]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mutex_test.c (
        echo boom E: [iCL]: icl_mutex_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mutex.h (
        echo boom E: [iCL]: icl_mutex.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mutex.c (
        echo boom E: [iCL]: icl_mutex.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cond_test.c (
        echo boom E: [iCL]: icl_cond_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cond.h (
        echo boom E: [iCL]: icl_cond.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cond.c (
        echo boom E: [iCL]: icl_cond.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_rwlock_test.c (
        echo boom E: [iCL]: icl_rwlock_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_rwlock.h (
        echo boom E: [iCL]: icl_rwlock.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_rwlock.c (
        echo boom E: [iCL]: icl_rwlock.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_apr_test.c (
        echo boom E: [iCL]: icl_apr_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_apr.h (
        echo boom E: [iCL]: icl_apr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_apr.c (
        echo boom E: [iCL]: icl_apr.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats_test.c (
        echo boom E: [iCL]: icl_stats_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats.h (
        echo boom E: [iCL]: icl_stats.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats.c (
        echo boom E: [iCL]: icl_stats.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_trace_test.c (
        echo boom E: [iCL]: icl_trace_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_trace.h (
        echo boom E: [iCL]: icl_trace.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_trace.c (
        echo boom E: [iCL]: icl_trace.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_test.c (
        echo boom E: [iCL]: icl_destroy_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy.h (
        echo boom E: [iCL]: icl_destroy.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy.c (
        echo boom E: [iCL]: icl_destroy.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_list_test.c (
        echo boom E: [iCL]: icl_destroy_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_list.h (
        echo boom E: [iCL]: icl_destroy_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_list.c (
        echo boom E: [iCL]: icl_destroy_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_test.c (
        echo boom E: [iCL]: icl_system_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system.h (
        echo boom E: [iCL]: icl_system.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system.c (
        echo boom E: [iCL]: icl_system.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_list_test.c (
        echo boom E: [iCL]: icl_system_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_list.h (
        echo boom E: [iCL]: icl_system_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_list.c (
        echo boom E: [iCL]: icl_system_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_console_test.c (
        echo boom E: [iCL]: icl_console_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_console.h (
        echo boom E: [iCL]: icl_console.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_console.c (
        echo boom E: [iCL]: icl_console.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_longstr_test.c (
        echo boom E: [iCL]: icl_longstr_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_longstr.h (
        echo boom E: [iCL]: icl_longstr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_longstr.c (
        echo boom E: [iCL]: icl_longstr.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_shortstr_test.c (
        echo boom E: [iCL]: icl_shortstr_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_shortstr.h (
        echo boom E: [iCL]: icl_shortstr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_shortstr.c (
        echo boom E: [iCL]: icl_shortstr.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_test.c (
        echo boom E: [iCL]: icl_mem_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem.h (
        echo boom E: [iCL]: icl_mem.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem.c (
        echo boom E: [iCL]: icl_mem.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_test.c (
        echo boom E: [iCL]: icl_mem_fat_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat.h (
        echo boom E: [iCL]: icl_mem_fat.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat.c (
        echo boom E: [iCL]: icl_mem_fat.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_list_test.c (
        echo boom E: [iCL]: icl_mem_fat_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_list.h (
        echo boom E: [iCL]: icl_mem_fat_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_list.c (
        echo boom E: [iCL]: icl_mem_fat_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_test.c (
        echo boom E: [iCL]: icl_mem_thin_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin.h (
        echo boom E: [iCL]: icl_mem_thin.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin.c (
        echo boom E: [iCL]: icl_mem_thin.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_list_test.c (
        echo boom E: [iCL]: icl_mem_thin_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_list.h (
        echo boom E: [iCL]: icl_mem_thin_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_list.c (
        echo boom E: [iCL]: icl_mem_thin_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_test.c (
        echo boom E: [iCL]: icl_cache_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache.h (
        echo boom E: [iCL]: icl_cache.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache.c (
        echo boom E: [iCL]: icl_cache.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_list_test.c (
        echo boom E: [iCL]: icl_cache_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_list.h (
        echo boom E: [iCL]: icl_cache_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_list.c (
        echo boom E: [iCL]: icl_cache_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_rwlock_test.c (
        echo boom E: [iCL]: icl_demo_rwlock_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_rwlock.h (
        echo boom E: [iCL]: icl_demo_rwlock.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_rwlock.c (
        echo boom E: [iCL]: icl_demo_rwlock.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_thread_test.c (
        echo boom E: [iCL]: icl_demo_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_thread.h (
        echo boom E: [iCL]: icl_demo_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_thread.c (
        echo boom E: [iCL]: icl_demo_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_plain_test.c (
        echo boom E: [iCL]: icl_demo_plain_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_plain.h (
        echo boom E: [iCL]: icl_demo_plain.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_plain.c (
        echo boom E: [iCL]: icl_demo_plain.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_cache_test.c (
        echo boom E: [iCL]: icl_demo_cache_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_cache.h (
        echo boom E: [iCL]: icl_demo_cache.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_cache.c (
        echo boom E: [iCL]: icl_demo_cache.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_local_test.c (
        echo boom E: [iCL]: icl_demo_local_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_local.h (
        echo boom E: [iCL]: icl_demo_local.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_local.c (
        echo boom E: [iCL]: icl_demo_local.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_possess_test.c (
        echo boom E: [iCL]: icl_demo_possess_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_possess.h (
        echo boom E: [iCL]: icl_demo_possess.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_possess.c (
        echo boom E: [iCL]: icl_demo_possess.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_links_test.c (
        echo boom E: [iCL]: icl_demo_links_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_links.h (
        echo boom E: [iCL]: icl_demo_links.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_links.c (
        echo boom E: [iCL]: icl_demo_links.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_test.c (
        echo boom E: [iCL]: icl_demo_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list.h (
        echo boom E: [iCL]: icl_demo_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list.c (
        echo boom E: [iCL]: icl_demo_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_list_test.c (
        echo boom E: [iCL]: icl_demo_list_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_list.h (
        echo boom E: [iCL]: icl_demo_list_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_list.c (
        echo boom E: [iCL]: icl_demo_list_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_test.c (
        echo boom E: [iCL]: icl_demo_list2_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2.h (
        echo boom E: [iCL]: icl_demo_list2.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2.c (
        echo boom E: [iCL]: icl_demo_list2.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list_test.c (
        echo boom E: [iCL]: icl_demo_list2_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list.h (
        echo boom E: [iCL]: icl_demo_list2_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list.c (
        echo boom E: [iCL]: icl_demo_list2_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list2_test.c (
        echo boom E: [iCL]: icl_demo_list2_list2_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list2.h (
        echo boom E: [iCL]: icl_demo_list2_list2.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list2.c (
        echo boom E: [iCL]: icl_demo_list2_list2.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_test.c (
        echo boom E: [iCL]: icl_demo_hash_int_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int.h (
        echo boom E: [iCL]: icl_demo_hash_int.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int.c (
        echo boom E: [iCL]: icl_demo_hash_int.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_table_test.c (
        echo boom E: [iCL]: icl_demo_hash_int_table_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_table.h (
        echo boom E: [iCL]: icl_demo_hash_int_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_table.c (
        echo boom E: [iCL]: icl_demo_hash_int_table.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_test.c (
        echo boom E: [iCL]: icl_demo_hash_str_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str.h (
        echo boom E: [iCL]: icl_demo_hash_str.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str.c (
        echo boom E: [iCL]: icl_demo_hash_str.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_table_test.c (
        echo boom E: [iCL]: icl_demo_hash_str_table_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_table.h (
        echo boom E: [iCL]: icl_demo_hash_str_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_table.c (
        echo boom E: [iCL]: icl_demo_hash_str_table.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_test.c (
        echo boom E: [iCL]: icl_demo_hash_lstr_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr.h (
        echo boom E: [iCL]: icl_demo_hash_lstr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr.c (
        echo boom E: [iCL]: icl_demo_hash_lstr.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_table_test.c (
        echo boom E: [iCL]: icl_demo_hash_lstr_table_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_table.h (
        echo boom E: [iCL]: icl_demo_hash_lstr_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_table.c (
        echo boom E: [iCL]: icl_demo_hash_lstr_table.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_serial_test.c (
        echo boom E: [iCL]: icl_demo_serial_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_serial.h (
        echo boom E: [iCL]: icl_demo_serial.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_serial.c (
        echo boom E: [iCL]: icl_demo_serial.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_test.c (
        echo boom E: [iCL]: icl_demo_array_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array.h (
        echo boom E: [iCL]: icl_demo_array.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array.c (
        echo boom E: [iCL]: icl_demo_array.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_array_test.c (
        echo boom E: [iCL]: icl_demo_array_array_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_array.h (
        echo boom E: [iCL]: icl_demo_array_array.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_array.c (
        echo boom E: [iCL]: icl_demo_array_array.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_test.c (
        echo boom E: [iCL]: icl_demo_stack_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack.h (
        echo boom E: [iCL]: icl_demo_stack.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack.c (
        echo boom E: [iCL]: icl_demo_stack.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_stack_test.c (
        echo boom E: [iCL]: icl_demo_stack_stack_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_stack.h (
        echo boom E: [iCL]: icl_demo_stack_stack.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_stack.c (
        echo boom E: [iCL]: icl_demo_stack_stack.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_test.c (
        echo boom E: [iCL]: icl_demo_queue_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue.h (
        echo boom E: [iCL]: icl_demo_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue.c (
        echo boom E: [iCL]: icl_demo_queue.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_queue_test.c (
        echo boom E: [iCL]: icl_demo_queue_queue_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_queue.h (
        echo boom E: [iCL]: icl_demo_queue_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_queue.c (
        echo boom E: [iCL]: icl_demo_queue_queue.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_scope_test.c (
        echo boom E: [iCL]: icl_demo_scope_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_scope.h (
        echo boom E: [iCL]: icl_demo_scope.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_scope.c (
        echo boom E: [iCL]: icl_demo_scope.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist stamp_generate (
        echo boom E: [iCL]: stamp_generate is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure (
        echo boom E: [iCL]: configure is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.unix (
        echo boom E: [iCL]: Makefile.unix is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [iCL]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure.bat (
        echo boom E: [iCL]: configure.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.win32 (
        echo boom E: [iCL]: Makefile.win32 is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [iCL]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [iCL]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist libicl.vcproj (
        echo boom E: [iCL]: libicl.vcproj is missing, cannot continue
        set _exception=1
        goto :eof
    )
    goto :eof

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

:a_check_binary_files_exist
    if not exist icl_stdc.xnf (
        echo boom E: [iCL]: icl_stdc.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl.xnf (
        echo boom E: [iCL]: icl.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_gen.gsl (
        echo boom E: [iCL]: icl_gen.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_preproc.gsl (
        echo boom E: [iCL]: icl_preproc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_inherit.gsl (
        echo boom E: [iCL]: icl_inherit.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_parse.gsl (
        echo boom E: [iCL]: icl_parse.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist base.h (
        echo boom E: [iCL]: base.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc.gsl (
        echo boom E: [iCL]: icl_stdc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc_lib.gsl (
        echo boom E: [iCL]: icl_stdc_lib.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_perl.gsl (
        echo boom E: [iCL]: icl_perl.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_java.gsl (
        echo boom E: [iCL]: icl_java.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_ruby.gsl (
        echo boom E: [iCL]: icl_ruby.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_doc.gsl (
        echo boom E: [iCL]: icl_doc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_classes.pdl (
        echo boom E: [iCL]: icl_classes.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_base.icl (
        echo boom E: [iCL]: icl_base.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_init.icl (
        echo boom E: [iCL]: icl_init.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_object.icl (
        echo boom E: [iCL]: icl_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_thread.icl (
        echo boom E: [iCL]: icl_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_tracker.icl (
        echo boom E: [iCL]: icl_tracker.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_lib.icl (
        echo boom E: [iCL]: icl_mem_lib.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_item.icl (
        echo boom E: [iCL]: icl_list_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_head.icl (
        echo boom E: [iCL]: icl_list_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_item.icl (
        echo boom E: [iCL]: icl_hash_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_head.icl (
        echo boom E: [iCL]: icl_hash_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_item.icl (
        echo boom E: [iCL]: icl_array_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_head.icl (
        echo boom E: [iCL]: icl_array_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_item.icl (
        echo boom E: [iCL]: icl_stack_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_head.icl (
        echo boom E: [iCL]: icl_stack_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_item.icl (
        echo boom E: [iCL]: icl_queue_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_head.icl (
        echo boom E: [iCL]: icl_queue_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_item.icl (
        echo boom E: [iCL]: icl_iter_list_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_head.icl (
        echo boom E: [iCL]: icl_iter_list_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_lib.gsl (
        echo boom E: [iCL]: icl_list_lib.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_head.gsl (
        echo boom E: [iCL]: icl_list_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_head.gsl (
        echo boom E: [iCL]: icl_iter_list_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_head.gsl (
        echo boom E: [iCL]: icl_hash_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_head.gsl (
        echo boom E: [iCL]: icl_array_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_head.gsl (
        echo boom E: [iCL]: icl_stack_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_head.gsl (
        echo boom E: [iCL]: icl_queue_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_serialise.gsl (
        echo boom E: [iCL]: icl_serialise.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist libicl.lib (
        echo boom E: [iCL]: libicl.lib is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl.h (
        echo boom E: [iCL]: icl.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_prettyc.pl (
        echo boom E: [iCL]: icl_prettyc.pl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_make_doc.sh (
        echo boom E: [iCL]: icl_make_doc.sh is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [iCL]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mutex.h (
        echo boom E: [iCL]: icl_mutex.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cond.h (
        echo boom E: [iCL]: icl_cond.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_rwlock.h (
        echo boom E: [iCL]: icl_rwlock.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_apr.h (
        echo boom E: [iCL]: icl_apr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats.h (
        echo boom E: [iCL]: icl_stats.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_trace.h (
        echo boom E: [iCL]: icl_trace.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy.h (
        echo boom E: [iCL]: icl_destroy.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_list.h (
        echo boom E: [iCL]: icl_destroy_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system.h (
        echo boom E: [iCL]: icl_system.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_list.h (
        echo boom E: [iCL]: icl_system_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_console.h (
        echo boom E: [iCL]: icl_console.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_longstr.h (
        echo boom E: [iCL]: icl_longstr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_shortstr.h (
        echo boom E: [iCL]: icl_shortstr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem.h (
        echo boom E: [iCL]: icl_mem.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat.h (
        echo boom E: [iCL]: icl_mem_fat.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_list.h (
        echo boom E: [iCL]: icl_mem_fat_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin.h (
        echo boom E: [iCL]: icl_mem_thin.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_list.h (
        echo boom E: [iCL]: icl_mem_thin_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache.h (
        echo boom E: [iCL]: icl_cache.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_list.h (
        echo boom E: [iCL]: icl_cache_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_rwlock.h (
        echo boom E: [iCL]: icl_demo_rwlock.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_thread.h (
        echo boom E: [iCL]: icl_demo_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_plain.h (
        echo boom E: [iCL]: icl_demo_plain.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_cache.h (
        echo boom E: [iCL]: icl_demo_cache.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_local.h (
        echo boom E: [iCL]: icl_demo_local.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_possess.h (
        echo boom E: [iCL]: icl_demo_possess.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_links.h (
        echo boom E: [iCL]: icl_demo_links.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list.h (
        echo boom E: [iCL]: icl_demo_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_list.h (
        echo boom E: [iCL]: icl_demo_list_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2.h (
        echo boom E: [iCL]: icl_demo_list2.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list.h (
        echo boom E: [iCL]: icl_demo_list2_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list2.h (
        echo boom E: [iCL]: icl_demo_list2_list2.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int.h (
        echo boom E: [iCL]: icl_demo_hash_int.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_table.h (
        echo boom E: [iCL]: icl_demo_hash_int_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str.h (
        echo boom E: [iCL]: icl_demo_hash_str.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_table.h (
        echo boom E: [iCL]: icl_demo_hash_str_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr.h (
        echo boom E: [iCL]: icl_demo_hash_lstr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_table.h (
        echo boom E: [iCL]: icl_demo_hash_lstr_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_serial.h (
        echo boom E: [iCL]: icl_demo_serial.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array.h (
        echo boom E: [iCL]: icl_demo_array.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_array.h (
        echo boom E: [iCL]: icl_demo_array_array.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack.h (
        echo boom E: [iCL]: icl_demo_stack.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_stack.h (
        echo boom E: [iCL]: icl_demo_stack_stack.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue.h (
        echo boom E: [iCL]: icl_demo_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_queue.h (
        echo boom E: [iCL]: icl_demo_queue_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_scope.h (
        echo boom E: [iCL]: icl_demo_scope.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    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: [iCL]: version.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc.xnf (
        echo boom E: [iCL]: icl_stdc.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl.xnf (
        echo boom E: [iCL]: icl.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist base.h (
        echo boom E: [iCL]: base.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc.gsl (
        echo boom E: [iCL]: icl_stdc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc_lib.gsl (
        echo boom E: [iCL]: icl_stdc_lib.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_perl.gsl (
        echo boom E: [iCL]: icl_perl.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_java.gsl (
        echo boom E: [iCL]: icl_java.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_ruby.gsl (
        echo boom E: [iCL]: icl_ruby.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_doc.gsl (
        echo boom E: [iCL]: icl_doc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_classes.pdl (
        echo boom E: [iCL]: icl_classes.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_base.icl (
        echo boom E: [iCL]: icl_base.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_init.icl (
        echo boom E: [iCL]: icl_init.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_object.icl (
        echo boom E: [iCL]: icl_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_thread.icl (
        echo boom E: [iCL]: icl_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mutex.icl (
        echo boom E: [iCL]: icl_mutex.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cond.icl (
        echo boom E: [iCL]: icl_cond.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_rwlock.icl (
        echo boom E: [iCL]: icl_rwlock.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_apr.icl (
        echo boom E: [iCL]: icl_apr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats.icl (
        echo boom E: [iCL]: icl_stats.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_trace.icl (
        echo boom E: [iCL]: icl_trace.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy.icl (
        echo boom E: [iCL]: icl_destroy.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_list.icl (
        echo boom E: [iCL]: icl_destroy_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system.icl (
        echo boom E: [iCL]: icl_system.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_console.icl (
        echo boom E: [iCL]: icl_console.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_longstr.icl (
        echo boom E: [iCL]: icl_longstr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_shortstr.icl (
        echo boom E: [iCL]: icl_shortstr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_tracker.icl (
        echo boom E: [iCL]: icl_tracker.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem.icl (
        echo boom E: [iCL]: icl_mem.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_lib.icl (
        echo boom E: [iCL]: icl_mem_lib.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat.icl (
        echo boom E: [iCL]: icl_mem_fat.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin.icl (
        echo boom E: [iCL]: icl_mem_thin.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache.icl (
        echo boom E: [iCL]: icl_cache.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_item.icl (
        echo boom E: [iCL]: icl_list_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_head.icl (
        echo boom E: [iCL]: icl_list_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_item.icl (
        echo boom E: [iCL]: icl_hash_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_head.icl (
        echo boom E: [iCL]: icl_hash_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_item.icl (
        echo boom E: [iCL]: icl_array_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_head.icl (
        echo boom E: [iCL]: icl_array_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_item.icl (
        echo boom E: [iCL]: icl_stack_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_head.icl (
        echo boom E: [iCL]: icl_stack_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_item.icl (
        echo boom E: [iCL]: icl_queue_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_head.icl (
        echo boom E: [iCL]: icl_queue_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_item.icl (
        echo boom E: [iCL]: icl_iter_list_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_head.icl (
        echo boom E: [iCL]: icl_iter_list_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats_examine.c (
        echo boom E: [iCL]: icl_stats_examine.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_rwlock.icl (
        echo boom E: [iCL]: icl_demo_rwlock.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_thread.icl (
        echo boom E: [iCL]: icl_demo_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_plain.icl (
        echo boom E: [iCL]: icl_demo_plain.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_cache.icl (
        echo boom E: [iCL]: icl_demo_cache.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_local.icl (
        echo boom E: [iCL]: icl_demo_local.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_possess.icl (
        echo boom E: [iCL]: icl_demo_possess.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_links.icl (
        echo boom E: [iCL]: icl_demo_links.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list.icl (
        echo boom E: [iCL]: icl_demo_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2.icl (
        echo boom E: [iCL]: icl_demo_list2.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int.icl (
        echo boom E: [iCL]: icl_demo_hash_int.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str.icl (
        echo boom E: [iCL]: icl_demo_hash_str.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr.icl (
        echo boom E: [iCL]: icl_demo_hash_lstr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_serial.icl (
        echo boom E: [iCL]: icl_demo_serial.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array.icl (
        echo boom E: [iCL]: icl_demo_array.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack.icl (
        echo boom E: [iCL]: icl_demo_stack.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue.icl (
        echo boom E: [iCL]: icl_demo_queue.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_scope.icl (
        echo boom E: [iCL]: icl_demo_scope.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_lib.gsl (
        echo boom E: [iCL]: icl_list_lib.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_head.gsl (
        echo boom E: [iCL]: icl_list_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_head.gsl (
        echo boom E: [iCL]: icl_iter_list_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_head.gsl (
        echo boom E: [iCL]: icl_hash_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_head.gsl (
        echo boom E: [iCL]: icl_array_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_head.gsl (
        echo boom E: [iCL]: icl_stack_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_head.gsl (
        echo boom E: [iCL]: icl_queue_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_serialise.gsl (
        echo boom E: [iCL]: icl_serialise.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_prettyc.pl (
        echo boom E: [iCL]: icl_prettyc.pl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_make_doc.sh (
        echo boom E: [iCL]: icl_make_doc.sh is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_make_doc.ignore (
        echo boom E: [iCL]: icl_make_doc.ignore is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [iCL]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [iCL]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [iCL]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [iCL]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [iCL]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    goto :eof

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

:a_check_source_files_exist
    if not exist version.h (
        echo boom E: [iCL]: version.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc.xnf (
        echo boom E: [iCL]: icl_stdc.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl.xnf (
        echo boom E: [iCL]: icl.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_gen.gsl (
        echo boom E: [iCL]: icl_gen.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_preproc.gsl (
        echo boom E: [iCL]: icl_preproc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_inherit.gsl (
        echo boom E: [iCL]: icl_inherit.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_parse.gsl (
        echo boom E: [iCL]: icl_parse.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_doc.txt (
        echo boom E: [iCL]: icl_doc.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist base.h (
        echo boom E: [iCL]: base.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc.gsl (
        echo boom E: [iCL]: icl_stdc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stdc_lib.gsl (
        echo boom E: [iCL]: icl_stdc_lib.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_perl.gsl (
        echo boom E: [iCL]: icl_perl.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_java.gsl (
        echo boom E: [iCL]: icl_java.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_ruby.gsl (
        echo boom E: [iCL]: icl_ruby.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_doc.gsl (
        echo boom E: [iCL]: icl_doc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_classes.pdl (
        echo boom E: [iCL]: icl_classes.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_base.icl (
        echo boom E: [iCL]: icl_base.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_init.icl (
        echo boom E: [iCL]: icl_init.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_object.icl (
        echo boom E: [iCL]: icl_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_thread.icl (
        echo boom E: [iCL]: icl_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mutex.icl (
        echo boom E: [iCL]: icl_mutex.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cond.icl (
        echo boom E: [iCL]: icl_cond.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_rwlock.icl (
        echo boom E: [iCL]: icl_rwlock.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_apr.icl (
        echo boom E: [iCL]: icl_apr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats.icl (
        echo boom E: [iCL]: icl_stats.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_trace.icl (
        echo boom E: [iCL]: icl_trace.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy.icl (
        echo boom E: [iCL]: icl_destroy.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_list.icl (
        echo boom E: [iCL]: icl_destroy_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system.icl (
        echo boom E: [iCL]: icl_system.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_list.icl (
        echo boom E: [iCL]: icl_system_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_console.icl (
        echo boom E: [iCL]: icl_console.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_longstr.icl (
        echo boom E: [iCL]: icl_longstr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_shortstr.icl (
        echo boom E: [iCL]: icl_shortstr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_tracker.icl (
        echo boom E: [iCL]: icl_tracker.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem.icl (
        echo boom E: [iCL]: icl_mem.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_lib.icl (
        echo boom E: [iCL]: icl_mem_lib.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat.icl (
        echo boom E: [iCL]: icl_mem_fat.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_list.icl (
        echo boom E: [iCL]: icl_mem_fat_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin.icl (
        echo boom E: [iCL]: icl_mem_thin.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_list.icl (
        echo boom E: [iCL]: icl_mem_thin_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache.icl (
        echo boom E: [iCL]: icl_cache.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_list.icl (
        echo boom E: [iCL]: icl_cache_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_item.icl (
        echo boom E: [iCL]: icl_list_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_head.icl (
        echo boom E: [iCL]: icl_list_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_item.icl (
        echo boom E: [iCL]: icl_hash_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_head.icl (
        echo boom E: [iCL]: icl_hash_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_item.icl (
        echo boom E: [iCL]: icl_array_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_head.icl (
        echo boom E: [iCL]: icl_array_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_item.icl (
        echo boom E: [iCL]: icl_stack_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_head.icl (
        echo boom E: [iCL]: icl_stack_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_item.icl (
        echo boom E: [iCL]: icl_queue_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_head.icl (
        echo boom E: [iCL]: icl_queue_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_item.icl (
        echo boom E: [iCL]: icl_iter_list_item.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_head.icl (
        echo boom E: [iCL]: icl_iter_list_head.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats_examine.c (
        echo boom E: [iCL]: icl_stats_examine.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_rwlock.icl (
        echo boom E: [iCL]: icl_demo_rwlock.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_thread.icl (
        echo boom E: [iCL]: icl_demo_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_plain.icl (
        echo boom E: [iCL]: icl_demo_plain.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_cache.icl (
        echo boom E: [iCL]: icl_demo_cache.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_local.icl (
        echo boom E: [iCL]: icl_demo_local.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_possess.icl (
        echo boom E: [iCL]: icl_demo_possess.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_links.icl (
        echo boom E: [iCL]: icl_demo_links.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list.icl (
        echo boom E: [iCL]: icl_demo_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_list.icl (
        echo boom E: [iCL]: icl_demo_list_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2.icl (
        echo boom E: [iCL]: icl_demo_list2.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list.icl (
        echo boom E: [iCL]: icl_demo_list2_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list2.icl (
        echo boom E: [iCL]: icl_demo_list2_list2.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int.icl (
        echo boom E: [iCL]: icl_demo_hash_int.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_table.icl (
        echo boom E: [iCL]: icl_demo_hash_int_table.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str.icl (
        echo boom E: [iCL]: icl_demo_hash_str.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_table.icl (
        echo boom E: [iCL]: icl_demo_hash_str_table.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr.icl (
        echo boom E: [iCL]: icl_demo_hash_lstr.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_table.icl (
        echo boom E: [iCL]: icl_demo_hash_lstr_table.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_serial.icl (
        echo boom E: [iCL]: icl_demo_serial.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array.icl (
        echo boom E: [iCL]: icl_demo_array.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_array.icl (
        echo boom E: [iCL]: icl_demo_array_array.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack.icl (
        echo boom E: [iCL]: icl_demo_stack.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_stack.icl (
        echo boom E: [iCL]: icl_demo_stack_stack.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue.icl (
        echo boom E: [iCL]: icl_demo_queue.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_queue.icl (
        echo boom E: [iCL]: icl_demo_queue_queue.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_scope.icl (
        echo boom E: [iCL]: icl_demo_scope.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_lib.gsl (
        echo boom E: [iCL]: icl_list_lib.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_list_head.gsl (
        echo boom E: [iCL]: icl_list_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_iter_list_head.gsl (
        echo boom E: [iCL]: icl_iter_list_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_hash_head.gsl (
        echo boom E: [iCL]: icl_hash_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_array_head.gsl (
        echo boom E: [iCL]: icl_array_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stack_head.gsl (
        echo boom E: [iCL]: icl_stack_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_queue_head.gsl (
        echo boom E: [iCL]: icl_queue_head.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_serialise.gsl (
        echo boom E: [iCL]: icl_serialise.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl.h (
        echo boom E: [iCL]: icl.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_prettyc.pl (
        echo boom E: [iCL]: icl_prettyc.pl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_make_doc.sh (
        echo boom E: [iCL]: icl_make_doc.sh is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_make_doc.ignore (
        echo boom E: [iCL]: icl_make_doc.ignore is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [iCL]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [iCL]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mutex_test.c (
        echo boom E: [iCL]: icl_mutex_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mutex.h (
        echo boom E: [iCL]: icl_mutex.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mutex.c (
        echo boom E: [iCL]: icl_mutex.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cond_test.c (
        echo boom E: [iCL]: icl_cond_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cond.h (
        echo boom E: [iCL]: icl_cond.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cond.c (
        echo boom E: [iCL]: icl_cond.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_rwlock_test.c (
        echo boom E: [iCL]: icl_rwlock_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_rwlock.h (
        echo boom E: [iCL]: icl_rwlock.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_rwlock.c (
        echo boom E: [iCL]: icl_rwlock.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_apr_test.c (
        echo boom E: [iCL]: icl_apr_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_apr.h (
        echo boom E: [iCL]: icl_apr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_apr.c (
        echo boom E: [iCL]: icl_apr.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats_test.c (
        echo boom E: [iCL]: icl_stats_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats.h (
        echo boom E: [iCL]: icl_stats.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_stats.c (
        echo boom E: [iCL]: icl_stats.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_trace_test.c (
        echo boom E: [iCL]: icl_trace_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_trace.h (
        echo boom E: [iCL]: icl_trace.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_trace.c (
        echo boom E: [iCL]: icl_trace.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_test.c (
        echo boom E: [iCL]: icl_destroy_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy.h (
        echo boom E: [iCL]: icl_destroy.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy.c (
        echo boom E: [iCL]: icl_destroy.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_list_test.c (
        echo boom E: [iCL]: icl_destroy_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_list.h (
        echo boom E: [iCL]: icl_destroy_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_destroy_list.c (
        echo boom E: [iCL]: icl_destroy_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_test.c (
        echo boom E: [iCL]: icl_system_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system.h (
        echo boom E: [iCL]: icl_system.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system.c (
        echo boom E: [iCL]: icl_system.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_list_test.c (
        echo boom E: [iCL]: icl_system_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_list.h (
        echo boom E: [iCL]: icl_system_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_system_list.c (
        echo boom E: [iCL]: icl_system_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_console_test.c (
        echo boom E: [iCL]: icl_console_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_console.h (
        echo boom E: [iCL]: icl_console.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_console.c (
        echo boom E: [iCL]: icl_console.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_longstr_test.c (
        echo boom E: [iCL]: icl_longstr_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_longstr.h (
        echo boom E: [iCL]: icl_longstr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_longstr.c (
        echo boom E: [iCL]: icl_longstr.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_shortstr_test.c (
        echo boom E: [iCL]: icl_shortstr_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_shortstr.h (
        echo boom E: [iCL]: icl_shortstr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_shortstr.c (
        echo boom E: [iCL]: icl_shortstr.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_test.c (
        echo boom E: [iCL]: icl_mem_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem.h (
        echo boom E: [iCL]: icl_mem.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem.c (
        echo boom E: [iCL]: icl_mem.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_test.c (
        echo boom E: [iCL]: icl_mem_fat_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat.h (
        echo boom E: [iCL]: icl_mem_fat.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat.c (
        echo boom E: [iCL]: icl_mem_fat.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_list_test.c (
        echo boom E: [iCL]: icl_mem_fat_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_list.h (
        echo boom E: [iCL]: icl_mem_fat_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_fat_list.c (
        echo boom E: [iCL]: icl_mem_fat_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_test.c (
        echo boom E: [iCL]: icl_mem_thin_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin.h (
        echo boom E: [iCL]: icl_mem_thin.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin.c (
        echo boom E: [iCL]: icl_mem_thin.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_list_test.c (
        echo boom E: [iCL]: icl_mem_thin_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_list.h (
        echo boom E: [iCL]: icl_mem_thin_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_mem_thin_list.c (
        echo boom E: [iCL]: icl_mem_thin_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_test.c (
        echo boom E: [iCL]: icl_cache_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache.h (
        echo boom E: [iCL]: icl_cache.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache.c (
        echo boom E: [iCL]: icl_cache.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_list_test.c (
        echo boom E: [iCL]: icl_cache_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_list.h (
        echo boom E: [iCL]: icl_cache_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_cache_list.c (
        echo boom E: [iCL]: icl_cache_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_rwlock_test.c (
        echo boom E: [iCL]: icl_demo_rwlock_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_rwlock.h (
        echo boom E: [iCL]: icl_demo_rwlock.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_rwlock.c (
        echo boom E: [iCL]: icl_demo_rwlock.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_thread_test.c (
        echo boom E: [iCL]: icl_demo_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_thread.h (
        echo boom E: [iCL]: icl_demo_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_thread.c (
        echo boom E: [iCL]: icl_demo_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_plain_test.c (
        echo boom E: [iCL]: icl_demo_plain_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_plain.h (
        echo boom E: [iCL]: icl_demo_plain.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_plain.c (
        echo boom E: [iCL]: icl_demo_plain.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_cache_test.c (
        echo boom E: [iCL]: icl_demo_cache_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_cache.h (
        echo boom E: [iCL]: icl_demo_cache.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_cache.c (
        echo boom E: [iCL]: icl_demo_cache.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_local_test.c (
        echo boom E: [iCL]: icl_demo_local_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_local.h (
        echo boom E: [iCL]: icl_demo_local.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_local.c (
        echo boom E: [iCL]: icl_demo_local.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_possess_test.c (
        echo boom E: [iCL]: icl_demo_possess_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_possess.h (
        echo boom E: [iCL]: icl_demo_possess.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_possess.c (
        echo boom E: [iCL]: icl_demo_possess.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_links_test.c (
        echo boom E: [iCL]: icl_demo_links_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_links.h (
        echo boom E: [iCL]: icl_demo_links.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_links.c (
        echo boom E: [iCL]: icl_demo_links.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_test.c (
        echo boom E: [iCL]: icl_demo_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list.h (
        echo boom E: [iCL]: icl_demo_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list.c (
        echo boom E: [iCL]: icl_demo_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_list_test.c (
        echo boom E: [iCL]: icl_demo_list_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_list.h (
        echo boom E: [iCL]: icl_demo_list_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list_list.c (
        echo boom E: [iCL]: icl_demo_list_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_test.c (
        echo boom E: [iCL]: icl_demo_list2_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2.h (
        echo boom E: [iCL]: icl_demo_list2.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2.c (
        echo boom E: [iCL]: icl_demo_list2.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list_test.c (
        echo boom E: [iCL]: icl_demo_list2_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list.h (
        echo boom E: [iCL]: icl_demo_list2_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list.c (
        echo boom E: [iCL]: icl_demo_list2_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list2_test.c (
        echo boom E: [iCL]: icl_demo_list2_list2_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list2.h (
        echo boom E: [iCL]: icl_demo_list2_list2.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_list2_list2.c (
        echo boom E: [iCL]: icl_demo_list2_list2.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_test.c (
        echo boom E: [iCL]: icl_demo_hash_int_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int.h (
        echo boom E: [iCL]: icl_demo_hash_int.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int.c (
        echo boom E: [iCL]: icl_demo_hash_int.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_table_test.c (
        echo boom E: [iCL]: icl_demo_hash_int_table_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_table.h (
        echo boom E: [iCL]: icl_demo_hash_int_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_int_table.c (
        echo boom E: [iCL]: icl_demo_hash_int_table.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_test.c (
        echo boom E: [iCL]: icl_demo_hash_str_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str.h (
        echo boom E: [iCL]: icl_demo_hash_str.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str.c (
        echo boom E: [iCL]: icl_demo_hash_str.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_table_test.c (
        echo boom E: [iCL]: icl_demo_hash_str_table_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_table.h (
        echo boom E: [iCL]: icl_demo_hash_str_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_str_table.c (
        echo boom E: [iCL]: icl_demo_hash_str_table.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_test.c (
        echo boom E: [iCL]: icl_demo_hash_lstr_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr.h (
        echo boom E: [iCL]: icl_demo_hash_lstr.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr.c (
        echo boom E: [iCL]: icl_demo_hash_lstr.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_table_test.c (
        echo boom E: [iCL]: icl_demo_hash_lstr_table_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_table.h (
        echo boom E: [iCL]: icl_demo_hash_lstr_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_hash_lstr_table.c (
        echo boom E: [iCL]: icl_demo_hash_lstr_table.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_serial_test.c (
        echo boom E: [iCL]: icl_demo_serial_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_serial.h (
        echo boom E: [iCL]: icl_demo_serial.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_serial.c (
        echo boom E: [iCL]: icl_demo_serial.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_test.c (
        echo boom E: [iCL]: icl_demo_array_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array.h (
        echo boom E: [iCL]: icl_demo_array.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array.c (
        echo boom E: [iCL]: icl_demo_array.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_array_test.c (
        echo boom E: [iCL]: icl_demo_array_array_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_array.h (
        echo boom E: [iCL]: icl_demo_array_array.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_array_array.c (
        echo boom E: [iCL]: icl_demo_array_array.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_test.c (
        echo boom E: [iCL]: icl_demo_stack_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack.h (
        echo boom E: [iCL]: icl_demo_stack.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack.c (
        echo boom E: [iCL]: icl_demo_stack.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_stack_test.c (
        echo boom E: [iCL]: icl_demo_stack_stack_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_stack.h (
        echo boom E: [iCL]: icl_demo_stack_stack.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_stack_stack.c (
        echo boom E: [iCL]: icl_demo_stack_stack.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_test.c (
        echo boom E: [iCL]: icl_demo_queue_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue.h (
        echo boom E: [iCL]: icl_demo_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue.c (
        echo boom E: [iCL]: icl_demo_queue.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_queue_test.c (
        echo boom E: [iCL]: icl_demo_queue_queue_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_queue.h (
        echo boom E: [iCL]: icl_demo_queue_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_queue_queue.c (
        echo boom E: [iCL]: icl_demo_queue_queue.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_scope_test.c (
        echo boom E: [iCL]: icl_demo_scope_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_scope.h (
        echo boom E: [iCL]: icl_demo_scope.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_demo_scope.c (
        echo boom E: [iCL]: icl_demo_scope.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist stamp_generate (
        echo boom E: [iCL]: stamp_generate is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure (
        echo boom E: [iCL]: configure is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.unix (
        echo boom E: [iCL]: Makefile.unix is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [iCL]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure.bat (
        echo boom E: [iCL]: configure.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.win32 (
        echo boom E: [iCL]: Makefile.win32 is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [iCL]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [iCL]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist libicl.vcproj (
        echo boom E: [iCL]: libicl.vcproj is missing, cannot continue
        set _exception=1
        goto :eof
    )
    goto :eof

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

:a_install_deliverables
    echo boom I: [iCL]: installing iCL into !_INSTALL_ROOT!...
    if not exist !_INSTALL_ROOT! mkdir !_INSTALL_ROOT!
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y icl_stdc.xnf !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_stdc.xnf !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_stdc.xnf !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl.xnf !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl.xnf !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl.xnf !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_gen.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_gen.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_gen.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_preproc.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_preproc.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_preproc.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_inherit.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_inherit.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_inherit.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_parse.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_parse.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_parse.gsl !_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 base.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y base.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y base.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 icl_stdc.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_stdc.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_stdc.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_stdc_lib.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_stdc_lib.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_stdc_lib.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_perl.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_perl.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_perl.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_java.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_java.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_java.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_ruby.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_ruby.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_ruby.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_doc.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_doc.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_doc.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_classes.pdl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_classes.pdl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_classes.pdl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_base.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_base.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_base.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_init.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_init.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_init.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_object.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_object.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_object.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_thread.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_thread.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_thread.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mutex.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_mutex.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mutex.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_cond.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_cond.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_cond.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_rwlock.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_rwlock.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_rwlock.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_apr.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_apr.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_apr.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_stats.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_stats.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_stats.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_trace.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_trace.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_trace.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_destroy.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_destroy.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_destroy.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_destroy_list.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_destroy_list.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_destroy_list.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_system.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_system.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_system.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_system_list.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_system_list.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_system_list.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_console.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_console.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_console.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_longstr.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_longstr.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_longstr.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_shortstr.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_shortstr.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_shortstr.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_tracker.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_tracker.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_tracker.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_mem.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem_lib.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_mem_lib.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem_lib.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem_fat.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_mem_fat.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem_fat.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem_fat_list.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_mem_fat_list.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem_fat_list.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem_thin.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_mem_thin.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem_thin.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem_thin_list.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_mem_thin_list.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem_thin_list.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_cache.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_cache.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_cache.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_cache_list.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_cache_list.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_cache_list.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_list_item.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_list_item.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_list_item.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_list_head.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_list_head.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_list_head.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_hash_item.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_hash_item.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_hash_item.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_hash_head.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_hash_head.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_hash_head.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_array_item.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_array_item.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_array_item.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_array_head.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_array_head.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_array_head.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_stack_item.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_stack_item.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_stack_item.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_stack_head.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_stack_head.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_stack_head.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_queue_item.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_queue_item.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_queue_item.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_queue_head.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_queue_head.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_queue_head.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_iter_list_item.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_iter_list_item.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_iter_list_item.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_iter_list_head.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_iter_list_head.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_iter_list_head.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_list_lib.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_list_lib.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_list_lib.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_list_head.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_list_head.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_list_head.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_iter_list_head.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_iter_list_head.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_iter_list_head.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_hash_head.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_hash_head.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_hash_head.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_array_head.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_array_head.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_array_head.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_stack_head.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_stack_head.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_stack_head.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_queue_head.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_queue_head.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_queue_head.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_serialise.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_serialise.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_serialise.gsl !_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 libicl.lib !_INSTALL_ROOT!\lib\>nul
    verify>nul
    call copy/y libicl.lib !_INSTALL_ROOT!\lib\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y libicl.lib !_INSTALL_ROOT!\lib\>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 icl.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl.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 icl_prettyc.pl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_prettyc.pl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_prettyc.pl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_make_doc.sh !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_make_doc.sh !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_make_doc.sh !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\doc\iCL\nul mkdir !_INSTALL_ROOT!\doc\iCL\
    if "!BOOM_TRACE!"=="1" echo copy/y readme.txt !_INSTALL_ROOT!\doc\iCL\>nul
    verify>nul
    call copy/y readme.txt !_INSTALL_ROOT!\doc\iCL\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y readme.txt !_INSTALL_ROOT!\doc\iCL\>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 icl_mutex.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_mutex.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mutex.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_cond.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_cond.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_cond.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_rwlock.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_rwlock.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_rwlock.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_apr.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_apr.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_apr.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_stats.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_stats.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_stats.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_trace.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_trace.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_trace.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_destroy.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_destroy.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_destroy.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_destroy_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_destroy_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_destroy_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_system.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_system.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_system.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_system_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_system_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_system_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_console.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_console.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_console.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_longstr.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_longstr.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_longstr.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_shortstr.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_shortstr.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_shortstr.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_mem.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem_fat.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_mem_fat.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem_fat.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem_fat_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_mem_fat_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem_fat_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem_thin.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_mem_thin.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem_thin.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_mem_thin_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_mem_thin_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_mem_thin_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_cache.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_cache.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_cache.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_cache_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_cache_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_cache_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_rwlock.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_rwlock.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_rwlock.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_thread.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_thread.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_thread.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_plain.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_plain.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_plain.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_cache.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_cache.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_cache.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_local.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_local.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_local.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_possess.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_possess.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_possess.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_links.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_links.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_links.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_list_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_list_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_list_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_list2.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_list2.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_list2.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_list2_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_list2_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_list2_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_list2_list2.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_list2_list2.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_list2_list2.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_hash_int.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_hash_int.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_hash_int.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_hash_int_table.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_hash_int_table.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_hash_int_table.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_hash_str.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_hash_str.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_hash_str.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_hash_str_table.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_hash_str_table.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_hash_str_table.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_hash_lstr.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_hash_lstr.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_hash_lstr.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_hash_lstr_table.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_hash_lstr_table.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_hash_lstr_table.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_serial.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_serial.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_serial.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_array.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_array.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_array.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_array_array.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_array_array.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_array_array.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_stack.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_stack.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_stack.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_stack_stack.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_stack_stack.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_stack_stack.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_queue.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_queue.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_queue.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_queue_queue.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_queue_queue.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_queue_queue.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y icl_demo_scope.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y icl_demo_scope.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [iCL]: 'copy/y icl_demo_scope.h !_INSTALL_ROOT!\include\>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: [iCL]: 'installer' failed - stop.
        set _exception=1
        goto :eof
    )
    )
    goto :eof

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

:a_produce_all_generated_files
    echo boom I: [iCL]: Generating files...
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_stdc.xnf
    verify>nul
    call gsl -q -quiet:1 icl_stdc.xnf
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_stdc.xnf' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mutex.icl
    verify>nul
    call gsl -q -quiet:1 icl_mutex.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mutex.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_cond.icl
    verify>nul
    call gsl -q -quiet:1 icl_cond.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_cond.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_rwlock.icl
    verify>nul
    call gsl -q -quiet:1 icl_rwlock.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_rwlock.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_apr.icl
    verify>nul
    call gsl -q -quiet:1 icl_apr.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_apr.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_stats.icl
    verify>nul
    call gsl -q -quiet:1 icl_stats.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_stats.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_trace.icl
    verify>nul
    call gsl -q -quiet:1 icl_trace.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_trace.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_destroy.icl
    verify>nul
    call gsl -q -quiet:1 icl_destroy.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_destroy.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_destroy_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_destroy_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_destroy_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_system.icl
    verify>nul
    call gsl -q -quiet:1 icl_system.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_system.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_system_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_system_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_system_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_console.icl
    verify>nul
    call gsl -q -quiet:1 icl_console.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_console.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_longstr.icl
    verify>nul
    call gsl -q -quiet:1 icl_longstr.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_longstr.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_shortstr.icl
    verify>nul
    call gsl -q -quiet:1 icl_shortstr.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_shortstr.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mem.icl
    verify>nul
    call gsl -q -quiet:1 icl_mem.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mem.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mem_fat.icl
    verify>nul
    call gsl -q -quiet:1 icl_mem_fat.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mem_fat.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mem_fat_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_mem_fat_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mem_fat_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mem_thin.icl
    verify>nul
    call gsl -q -quiet:1 icl_mem_thin.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mem_thin.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mem_thin_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_mem_thin_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mem_thin_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_cache.icl
    verify>nul
    call gsl -q -quiet:1 icl_cache.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_cache.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_cache_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_cache_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_cache_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_rwlock.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_rwlock.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_rwlock.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_thread.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_thread.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_plain.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_plain.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_plain.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_cache.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_cache.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_cache.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_local.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_local.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_local.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_possess.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_possess.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_possess.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_links.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_links.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_links.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_list_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_list_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_list_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_list2.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_list2.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_list2.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_list2_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_list2_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_list2_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_list2_list2.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_list2_list2.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_list2_list2.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_int.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_int.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_int.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_int_table.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_int_table.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_int_table.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_str.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_str.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_str.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_str_table.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_str_table.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_str_table.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_lstr.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_lstr.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_lstr.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_lstr_table.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_lstr_table.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_lstr_table.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_serial.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_serial.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_serial.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_array.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_array.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_array.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_array_array.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_array_array.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_array_array.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_stack.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_stack.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_stack.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_stack_stack.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_stack_stack.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_stack_stack.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_queue.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_queue.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_queue.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_queue_queue.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_queue_queue.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_queue_queue.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_scope.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_scope.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_scope.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if exist icl.h del icl.h
    if "!BOOM_TRACE!"=="1" echo type base.h>>icl.h
    verify>nul
    call type base.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type base.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_apr.h>>icl.h
    verify>nul
    call type icl_apr.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_apr.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_mutex.h>>icl.h
    verify>nul
    call type icl_mutex.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_mutex.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_cond.h>>icl.h
    verify>nul
    call type icl_cond.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_cond.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_rwlock.h>>icl.h
    verify>nul
    call type icl_rwlock.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_rwlock.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_console.h>>icl.h
    verify>nul
    call type icl_console.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_console.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_stats.h>>icl.h
    verify>nul
    call type icl_stats.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_stats.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_trace.h>>icl.h
    verify>nul
    call type icl_trace.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_trace.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_mem.h>>icl.h
    verify>nul
    call type icl_mem.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_mem.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_system.h>>icl.h
    verify>nul
    call type icl_system.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_system.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_shortstr.h>>icl.h
    verify>nul
    call type icl_shortstr.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_shortstr.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_longstr.h>>icl.h
    verify>nul
    call type icl_longstr.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_longstr.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    echo Source files successfully generated>stamp_generate
    goto :eof

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

:a_produce_generated_files
    echo boom I: [iCL]: Generating files...
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_stdc.xnf
    verify>nul
    call gsl -q -quiet:1 icl_stdc.xnf
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_stdc.xnf' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mutex.icl
    verify>nul
    call gsl -q -quiet:1 icl_mutex.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mutex.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_cond.icl
    verify>nul
    call gsl -q -quiet:1 icl_cond.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_cond.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_rwlock.icl
    verify>nul
    call gsl -q -quiet:1 icl_rwlock.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_rwlock.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_apr.icl
    verify>nul
    call gsl -q -quiet:1 icl_apr.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_apr.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_stats.icl
    verify>nul
    call gsl -q -quiet:1 icl_stats.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_stats.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_trace.icl
    verify>nul
    call gsl -q -quiet:1 icl_trace.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_trace.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_destroy.icl
    verify>nul
    call gsl -q -quiet:1 icl_destroy.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_destroy.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_destroy_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_destroy_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_destroy_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_system.icl
    verify>nul
    call gsl -q -quiet:1 icl_system.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_system.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_system_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_system_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_system_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_console.icl
    verify>nul
    call gsl -q -quiet:1 icl_console.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_console.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_longstr.icl
    verify>nul
    call gsl -q -quiet:1 icl_longstr.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_longstr.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_shortstr.icl
    verify>nul
    call gsl -q -quiet:1 icl_shortstr.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_shortstr.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mem.icl
    verify>nul
    call gsl -q -quiet:1 icl_mem.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mem.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mem_fat.icl
    verify>nul
    call gsl -q -quiet:1 icl_mem_fat.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mem_fat.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mem_fat_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_mem_fat_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mem_fat_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mem_thin.icl
    verify>nul
    call gsl -q -quiet:1 icl_mem_thin.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mem_thin.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_mem_thin_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_mem_thin_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_mem_thin_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_cache.icl
    verify>nul
    call gsl -q -quiet:1 icl_cache.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_cache.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_cache_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_cache_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_cache_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_rwlock.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_rwlock.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_rwlock.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_thread.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_thread.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_plain.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_plain.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_plain.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_cache.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_cache.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_cache.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_local.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_local.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_local.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_possess.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_possess.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_possess.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_links.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_links.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_links.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_list_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_list_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_list_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_list2.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_list2.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_list2.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_list2_list.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_list2_list.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_list2_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_list2_list2.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_list2_list2.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_list2_list2.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_int.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_int.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_int.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_int_table.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_int_table.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_int_table.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_str.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_str.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_str.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_str_table.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_str_table.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_str_table.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_lstr.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_lstr.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_lstr.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_hash_lstr_table.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_hash_lstr_table.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_hash_lstr_table.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_serial.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_serial.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_serial.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_array.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_array.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_array.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_array_array.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_array_array.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_array_array.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_stack.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_stack.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_stack.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_stack_stack.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_stack_stack.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_stack_stack.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_queue.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_queue.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_queue.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_queue_queue.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_queue_queue.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_queue_queue.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 icl_demo_scope.icl
    verify>nul
    call gsl -q -quiet:1 icl_demo_scope.icl
    if errorlevel 1 (
        echo boom E: [iCL]: 'gsl -q -quiet:1 icl_demo_scope.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if exist icl.h del icl.h
    if "!BOOM_TRACE!"=="1" echo type base.h>>icl.h
    verify>nul
    call type base.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type base.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_apr.h>>icl.h
    verify>nul
    call type icl_apr.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_apr.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_mutex.h>>icl.h
    verify>nul
    call type icl_mutex.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_mutex.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_cond.h>>icl.h
    verify>nul
    call type icl_cond.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_cond.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_rwlock.h>>icl.h
    verify>nul
    call type icl_rwlock.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_rwlock.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_console.h>>icl.h
    verify>nul
    call type icl_console.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_console.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_stats.h>>icl.h
    verify>nul
    call type icl_stats.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_stats.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_trace.h>>icl.h
    verify>nul
    call type icl_trace.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_trace.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_mem.h>>icl.h
    verify>nul
    call type icl_mem.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_mem.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_system.h>>icl.h
    verify>nul
    call type icl_system.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_system.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_shortstr.h>>icl.h
    verify>nul
    call type icl_shortstr.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_shortstr.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type icl_longstr.h>>icl.h
    verify>nul
    call type icl_longstr.h>>icl.h
    if errorlevel 1 (
        echo boom E: [iCL]: 'type icl_longstr.h>>icl.h' failed - stop.
        set _exception=1
        goto :eof
    )
    echo Source files successfully generated>stamp_generate
    goto :eof

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

:a_remove_generated_binaries
    if exist libicl.lib del libicl.lib
    if exist icl_mutex_test_test.obj del icl_mutex_test_test.obj
    if exist icl_mutex_test_test.exe del icl_mutex_test_test.exe
    if exist icl_mutex.obj del icl_mutex.obj
    if exist icl_cond_test_test.obj del icl_cond_test_test.obj
    if exist icl_cond_test_test.exe del icl_cond_test_test.exe
    if exist icl_cond.obj del icl_cond.obj
    if exist icl_rwlock_test_test.obj del icl_rwlock_test_test.obj
    if exist icl_rwlock_test_test.exe del icl_rwlock_test_test.exe
    if exist icl_rwlock.obj del icl_rwlock.obj
    if exist icl_apr_test_test.obj del icl_apr_test_test.obj
    if exist icl_apr_test_test.exe del icl_apr_test_test.exe
    if exist icl_apr.obj del icl_apr.obj
    if exist icl_stats_test_test.obj del icl_stats_test_test.obj
    if exist icl_stats_test_test.exe del icl_stats_test_test.exe
    if exist icl_stats.obj del icl_stats.obj
    if exist icl_trace_test_test.obj del icl_trace_test_test.obj
    if exist icl_trace_test_test.exe del icl_trace_test_test.exe
    if exist icl_trace.obj del icl_trace.obj
    if exist icl_destroy_test_test.obj del icl_destroy_test_test.obj
    if exist icl_destroy_test_test.exe del icl_destroy_test_test.exe
    if exist icl_destroy.obj del icl_destroy.obj
    if exist icl_destroy_list_test_test.obj del icl_destroy_list_test_test.obj
    if exist icl_destroy_list_test_test.exe del icl_destroy_list_test_test.exe
    if exist icl_destroy_list.obj del icl_destroy_list.obj
    if exist icl_system_test_test.obj del icl_system_test_test.obj
    if exist icl_system_test_test.exe del icl_system_test_test.exe
    if exist icl_system.obj del icl_system.obj
    if exist icl_system_list_test_test.obj del icl_system_list_test_test.obj
    if exist icl_system_list_test_test.exe del icl_system_list_test_test.exe
    if exist icl_system_list.obj del icl_system_list.obj
    if exist icl_console_test_test.obj del icl_console_test_test.obj
    if exist icl_console_test_test.exe del icl_console_test_test.exe
    if exist icl_console.obj del icl_console.obj
    if exist icl_longstr_test_test.obj del icl_longstr_test_test.obj
    if exist icl_longstr_test_test.exe del icl_longstr_test_test.exe
    if exist icl_longstr.obj del icl_longstr.obj
    if exist icl_shortstr_test_test.obj del icl_shortstr_test_test.obj
    if exist icl_shortstr_test_test.exe del icl_shortstr_test_test.exe
    if exist icl_shortstr.obj del icl_shortstr.obj
    if exist icl_mem_test_test.obj del icl_mem_test_test.obj
    if exist icl_mem_test_test.exe del icl_mem_test_test.exe
    if exist icl_mem.obj del icl_mem.obj
    if exist icl_mem_fat_test_test.obj del icl_mem_fat_test_test.obj
    if exist icl_mem_fat_test_test.exe del icl_mem_fat_test_test.exe
    if exist icl_mem_fat.obj del icl_mem_fat.obj
    if exist icl_mem_fat_list_test_test.obj del icl_mem_fat_list_test_test.obj
    if exist icl_mem_fat_list_test_test.exe del icl_mem_fat_list_test_test.exe
    if exist icl_mem_fat_list.obj del icl_mem_fat_list.obj
    if exist icl_mem_thin_test_test.obj del icl_mem_thin_test_test.obj
    if exist icl_mem_thin_test_test.exe del icl_mem_thin_test_test.exe
    if exist icl_mem_thin.obj del icl_mem_thin.obj
    if exist icl_mem_thin_list_test_test.obj del icl_mem_thin_list_test_test.obj
    if exist icl_mem_thin_list_test_test.exe del icl_mem_thin_list_test_test.exe
    if exist icl_mem_thin_list.obj del icl_mem_thin_list.obj
    if exist icl_cache_test_test.obj del icl_cache_test_test.obj
    if exist icl_cache_test_test.exe del icl_cache_test_test.exe
    if exist icl_cache.obj del icl_cache.obj
    if exist icl_cache_list_test_test.obj del icl_cache_list_test_test.obj
    if exist icl_cache_list_test_test.exe del icl_cache_list_test_test.exe
    if exist icl_cache_list.obj del icl_cache_list.obj
    if exist icl_stats_examine.obj del icl_stats_examine.obj
    if exist icl_stats_examine.exe del icl_stats_examine.exe
    if exist icl_demo_rwlock_test_test.obj del icl_demo_rwlock_test_test.obj
    if exist icl_demo_rwlock_test_test.exe del icl_demo_rwlock_test_test.exe
    if exist icl_demo_rwlock.obj del icl_demo_rwlock.obj
    if exist icl_demo_thread_test_test.obj del icl_demo_thread_test_test.obj
    if exist icl_demo_thread_test_test.exe del icl_demo_thread_test_test.exe
    if exist icl_demo_thread.obj del icl_demo_thread.obj
    if exist icl_demo_plain_test_test.obj del icl_demo_plain_test_test.obj
    if exist icl_demo_plain_test_test.exe del icl_demo_plain_test_test.exe
    if exist icl_demo_plain.obj del icl_demo_plain.obj
    if exist icl_demo_cache_test_test.obj del icl_demo_cache_test_test.obj
    if exist icl_demo_cache_test_test.exe del icl_demo_cache_test_test.exe
    if exist icl_demo_cache.obj del icl_demo_cache.obj
    if exist icl_demo_local_test_test.obj del icl_demo_local_test_test.obj
    if exist icl_demo_local_test_test.exe del icl_demo_local_test_test.exe
    if exist icl_demo_local.obj del icl_demo_local.obj
    if exist icl_demo_possess_test_test.obj del icl_demo_possess_test_test.obj
    if exist icl_demo_possess_test_test.exe del icl_demo_possess_test_test.exe
    if exist icl_demo_possess.obj del icl_demo_possess.obj
    if exist icl_demo_links_test_test.obj del icl_demo_links_test_test.obj
    if exist icl_demo_links_test_test.exe del icl_demo_links_test_test.exe
    if exist icl_demo_links.obj del icl_demo_links.obj
    if exist icl_demo_list_test_test.obj del icl_demo_list_test_test.obj
    if exist icl_demo_list_test_test.exe del icl_demo_list_test_test.exe
    if exist icl_demo_list.obj del icl_demo_list.obj
    if exist icl_demo_list_list_test_test.obj del icl_demo_list_list_test_test.obj
    if exist icl_demo_list_list_test_test.exe del icl_demo_list_list_test_test.exe
    if exist icl_demo_list_list.obj del icl_demo_list_list.obj
    if exist icl_demo_list2_test_test.obj del icl_demo_list2_test_test.obj
    if exist icl_demo_list2_test_test.exe del icl_demo_list2_test_test.exe
    if exist icl_demo_list2.obj del icl_demo_list2.obj
    if exist icl_demo_list2_list_test_test.obj del icl_demo_list2_list_test_test.obj
    if exist icl_demo_list2_list_test_test.exe del icl_demo_list2_list_test_test.exe
    if exist icl_demo_list2_list.obj del icl_demo_list2_list.obj
    if exist icl_demo_list2_list2_test_test.obj del icl_demo_list2_list2_test_test.obj
    if exist icl_demo_list2_list2_test_test.exe del icl_demo_list2_list2_test_test.exe
    if exist icl_demo_list2_list2.obj del icl_demo_list2_list2.obj
    if exist icl_demo_hash_int_test_test.obj del icl_demo_hash_int_test_test.obj
    if exist icl_demo_hash_int_test_test.exe del icl_demo_hash_int_test_test.exe
    if exist icl_demo_hash_int.obj del icl_demo_hash_int.obj
    if exist icl_demo_hash_int_table_test_test.obj del icl_demo_hash_int_table_test_test.obj
    if exist icl_demo_hash_int_table_test_test.exe del icl_demo_hash_int_table_test_test.exe
    if exist icl_demo_hash_int_table.obj del icl_demo_hash_int_table.obj
    if exist icl_demo_hash_str_test_test.obj del icl_demo_hash_str_test_test.obj
    if exist icl_demo_hash_str_test_test.exe del icl_demo_hash_str_test_test.exe
    if exist icl_demo_hash_str.obj del icl_demo_hash_str.obj
    if exist icl_demo_hash_str_table_test_test.obj del icl_demo_hash_str_table_test_test.obj
    if exist icl_demo_hash_str_table_test_test.exe del icl_demo_hash_str_table_test_test.exe
    if exist icl_demo_hash_str_table.obj del icl_demo_hash_str_table.obj
    if exist icl_demo_hash_lstr_test_test.obj del icl_demo_hash_lstr_test_test.obj
    if exist icl_demo_hash_lstr_test_test.exe del icl_demo_hash_lstr_test_test.exe
    if exist icl_demo_hash_lstr.obj del icl_demo_hash_lstr.obj
    if exist icl_demo_hash_lstr_table_test_test.obj del icl_demo_hash_lstr_table_test_test.obj
    if exist icl_demo_hash_lstr_table_test_test.exe del icl_demo_hash_lstr_table_test_test.exe
    if exist icl_demo_hash_lstr_table.obj del icl_demo_hash_lstr_table.obj
    if exist icl_demo_serial_test_test.obj del icl_demo_serial_test_test.obj
    if exist icl_demo_serial_test_test.exe del icl_demo_serial_test_test.exe
    if exist icl_demo_serial.obj del icl_demo_serial.obj
    if exist icl_demo_array_test_test.obj del icl_demo_array_test_test.obj
    if exist icl_demo_array_test_test.exe del icl_demo_array_test_test.exe
    if exist icl_demo_array.obj del icl_demo_array.obj
    if exist icl_demo_array_array_test_test.obj del icl_demo_array_array_test_test.obj
    if exist icl_demo_array_array_test_test.exe del icl_demo_array_array_test_test.exe
    if exist icl_demo_array_array.obj del icl_demo_array_array.obj
    if exist icl_demo_stack_test_test.obj del icl_demo_stack_test_test.obj
    if exist icl_demo_stack_test_test.exe del icl_demo_stack_test_test.exe
    if exist icl_demo_stack.obj del icl_demo_stack.obj
    if exist icl_demo_stack_stack_test_test.obj del icl_demo_stack_stack_test_test.obj
    if exist icl_demo_stack_stack_test_test.exe del icl_demo_stack_stack_test_test.exe
    if exist icl_demo_stack_stack.obj del icl_demo_stack_stack.obj
    if exist icl_demo_queue_test_test.obj del icl_demo_queue_test_test.obj
    if exist icl_demo_queue_test_test.exe del icl_demo_queue_test_test.exe
    if exist icl_demo_queue.obj del icl_demo_queue.obj
    if exist icl_demo_queue_queue_test_test.obj del icl_demo_queue_queue_test_test.obj
    if exist icl_demo_queue_queue_test_test.exe del icl_demo_queue_queue_test_test.exe
    if exist icl_demo_queue_queue.obj del icl_demo_queue_queue.obj
    if exist icl_demo_scope_test_test.obj del icl_demo_scope_test_test.obj
    if exist icl_demo_scope_test_test.exe del icl_demo_scope_test_test.exe
    if exist icl_demo_scope.obj del icl_demo_scope.obj
    if exist icl_mutex_test.obj del icl_mutex_test.obj
    if exist icl_mutex_test.exe del icl_mutex_test.exe
    if exist icl_mutex.obj del icl_mutex.obj
    if exist icl_cond_test.obj del icl_cond_test.obj
    if exist icl_cond_test.exe del icl_cond_test.exe
    if exist icl_cond.obj del icl_cond.obj
    if exist icl_rwlock_test.obj del icl_rwlock_test.obj
    if exist icl_rwlock_test.exe del icl_rwlock_test.exe
    if exist icl_rwlock.obj del icl_rwlock.obj
    if exist icl_apr_test.obj del icl_apr_test.obj
    if exist icl_apr_test.exe del icl_apr_test.exe
    if exist icl_apr.obj del icl_apr.obj
    if exist icl_stats_test.obj del icl_stats_test.obj
    if exist icl_stats_test.exe del icl_stats_test.exe
    if exist icl_stats.obj del icl_stats.obj
    if exist icl_trace_test.obj del icl_trace_test.obj
    if exist icl_trace_test.exe del icl_trace_test.exe
    if exist icl_trace.obj del icl_trace.obj
    if exist icl_destroy_test.obj del icl_destroy_test.obj
    if exist icl_destroy_test.exe del icl_destroy_test.exe
    if exist icl_destroy.obj del icl_destroy.obj
    if exist icl_destroy_list_test.obj del icl_destroy_list_test.obj
    if exist icl_destroy_list_test.exe del icl_destroy_list_test.exe
    if exist icl_destroy_list.obj del icl_destroy_list.obj
    if exist icl_system_test.obj del icl_system_test.obj
    if exist icl_system_test.exe del icl_system_test.exe
    if exist icl_system.obj del icl_system.obj
    if exist icl_system_list_test.obj del icl_system_list_test.obj
    if exist icl_system_list_test.exe del icl_system_list_test.exe
    if exist icl_system_list.obj del icl_system_list.obj
    if exist icl_console_test.obj del icl_console_test.obj
    if exist icl_console_test.exe del icl_console_test.exe
    if exist icl_console.obj del icl_console.obj
    if exist icl_longstr_test.obj del icl_longstr_test.obj
    if exist icl_longstr_test.exe del icl_longstr_test.exe
    if exist icl_longstr.obj del icl_longstr.obj
    if exist icl_shortstr_test.obj del icl_shortstr_test.obj
    if exist icl_shortstr_test.exe del icl_shortstr_test.exe
    if exist icl_shortstr.obj del icl_shortstr.obj
    if exist icl_mem_test.obj del icl_mem_test.obj
    if exist icl_mem_test.exe del icl_mem_test.exe
    if exist icl_mem.obj del icl_mem.obj
    if exist icl_mem_fat_test.obj del icl_mem_fat_test.obj
    if exist icl_mem_fat_test.exe del icl_mem_fat_test.exe
    if exist icl_mem_fat.obj del icl_mem_fat.obj
    if exist icl_mem_fat_list_test.obj del icl_mem_fat_list_test.obj
    if exist icl_mem_fat_list_test.exe del icl_mem_fat_list_test.exe
    if exist icl_mem_fat_list.obj del icl_mem_fat_list.obj
    if exist icl_mem_thin_test.obj del icl_mem_thin_test.obj
    if exist icl_mem_thin_test.exe del icl_mem_thin_test.exe
    if exist icl_mem_thin.obj del icl_mem_thin.obj
    if exist icl_mem_thin_list_test.obj del icl_mem_thin_list_test.obj
    if exist icl_mem_thin_list_test.exe del icl_mem_thin_list_test.exe
    if exist icl_mem_thin_list.obj del icl_mem_thin_list.obj
    if exist icl_cache_test.obj del icl_cache_test.obj
    if exist icl_cache_test.exe del icl_cache_test.exe
    if exist icl_cache.obj del icl_cache.obj
    if exist icl_cache_list_test.obj del icl_cache_list_test.obj
    if exist icl_cache_list_test.exe del icl_cache_list_test.exe
    if exist icl_cache_list.obj del icl_cache_list.obj
    if exist icl_demo_rwlock_test.obj del icl_demo_rwlock_test.obj
    if exist icl_demo_rwlock_test.exe del icl_demo_rwlock_test.exe
    if exist icl_demo_rwlock.obj del icl_demo_rwlock.obj
    if exist icl_demo_thread_test.obj del icl_demo_thread_test.obj
    if exist icl_demo_thread_test.exe del icl_demo_thread_test.exe
    if exist icl_demo_thread.obj del icl_demo_thread.obj
    if exist icl_demo_plain_test.obj del icl_demo_plain_test.obj
    if exist icl_demo_plain_test.exe del icl_demo_plain_test.exe
    if exist icl_demo_plain.obj del icl_demo_plain.obj
    if exist icl_demo_cache_test.obj del icl_demo_cache_test.obj
    if exist icl_demo_cache_test.exe del icl_demo_cache_test.exe
    if exist icl_demo_cache.obj del icl_demo_cache.obj
    if exist icl_demo_local_test.obj del icl_demo_local_test.obj
    if exist icl_demo_local_test.exe del icl_demo_local_test.exe
    if exist icl_demo_local.obj del icl_demo_local.obj
    if exist icl_demo_possess_test.obj del icl_demo_possess_test.obj
    if exist icl_demo_possess_test.exe del icl_demo_possess_test.exe
    if exist icl_demo_possess.obj del icl_demo_possess.obj
    if exist icl_demo_links_test.obj del icl_demo_links_test.obj
    if exist icl_demo_links_test.exe del icl_demo_links_test.exe
    if exist icl_demo_links.obj del icl_demo_links.obj
    if exist icl_demo_list_test.obj del icl_demo_list_test.obj
    if exist icl_demo_list_test.exe del icl_demo_list_test.exe
    if exist icl_demo_list.obj del icl_demo_list.obj
    if exist icl_demo_list_list_test.obj del icl_demo_list_list_test.obj
    if exist icl_demo_list_list_test.exe del icl_demo_list_list_test.exe
    if exist icl_demo_list_list.obj del icl_demo_list_list.obj
    if exist icl_demo_list2_test.obj del icl_demo_list2_test.obj
    if exist icl_demo_list2_test.exe del icl_demo_list2_test.exe
    if exist icl_demo_list2.obj del icl_demo_list2.obj
    if exist icl_demo_list2_list_test.obj del icl_demo_list2_list_test.obj
    if exist icl_demo_list2_list_test.exe del icl_demo_list2_list_test.exe
    if exist icl_demo_list2_list.obj del icl_demo_list2_list.obj
    if exist icl_demo_list2_list2_test.obj del icl_demo_list2_list2_test.obj
    if exist icl_demo_list2_list2_test.exe del icl_demo_list2_list2_test.exe
    if exist icl_demo_list2_list2.obj del icl_demo_list2_list2.obj
    if exist icl_demo_hash_int_test.obj del icl_demo_hash_int_test.obj
    if exist icl_demo_hash_int_test.exe del icl_demo_hash_int_test.exe
    if exist icl_demo_hash_int.obj del icl_demo_hash_int.obj
    if exist icl_demo_hash_int_table_test.obj del icl_demo_hash_int_table_test.obj
    if exist icl_demo_hash_int_table_test.exe del icl_demo_hash_int_table_test.exe
    if exist icl_demo_hash_int_table.obj del icl_demo_hash_int_table.obj
    if exist icl_demo_hash_str_test.obj del icl_demo_hash_str_test.obj
    if exist icl_demo_hash_str_test.exe del icl_demo_hash_str_test.exe
    if exist icl_demo_hash_str.obj del icl_demo_hash_str.obj
    if exist icl_demo_hash_str_table_test.obj del icl_demo_hash_str_table_test.obj
    if exist icl_demo_hash_str_table_test.exe del icl_demo_hash_str_table_test.exe
    if exist icl_demo_hash_str_table.obj del icl_demo_hash_str_table.obj
    if exist icl_demo_hash_lstr_test.obj del icl_demo_hash_lstr_test.obj
    if exist icl_demo_hash_lstr_test.exe del icl_demo_hash_lstr_test.exe
    if exist icl_demo_hash_lstr.obj del icl_demo_hash_lstr.obj
    if exist icl_demo_hash_lstr_table_test.obj del icl_demo_hash_lstr_table_test.obj
    if exist icl_demo_hash_lstr_table_test.exe del icl_demo_hash_lstr_table_test.exe
    if exist icl_demo_hash_lstr_table.obj del icl_demo_hash_lstr_table.obj
    if exist icl_demo_serial_test.obj del icl_demo_serial_test.obj
    if exist icl_demo_serial_test.exe del icl_demo_serial_test.exe
    if exist icl_demo_serial.obj del icl_demo_serial.obj
    if exist icl_demo_array_test.obj del icl_demo_array_test.obj
    if exist icl_demo_array_test.exe del icl_demo_array_test.exe
    if exist icl_demo_array.obj del icl_demo_array.obj
    if exist icl_demo_array_array_test.obj del icl_demo_array_array_test.obj
    if exist icl_demo_array_array_test.exe del icl_demo_array_array_test.exe
    if exist icl_demo_array_array.obj del icl_demo_array_array.obj
    if exist icl_demo_stack_test.obj del icl_demo_stack_test.obj
    if exist icl_demo_stack_test.exe del icl_demo_stack_test.exe
    if exist icl_demo_stack.obj del icl_demo_stack.obj
    if exist icl_demo_stack_stack_test.obj del icl_demo_stack_stack_test.obj
    if exist icl_demo_stack_stack_test.exe del icl_demo_stack_stack_test.exe
    if exist icl_demo_stack_stack.obj del icl_demo_stack_stack.obj
    if exist icl_demo_queue_test.obj del icl_demo_queue_test.obj
    if exist icl_demo_queue_test.exe del icl_demo_queue_test.exe
    if exist icl_demo_queue.obj del icl_demo_queue.obj
    if exist icl_demo_queue_queue_test.obj del icl_demo_queue_queue_test.obj
    if exist icl_demo_queue_queue_test.exe del icl_demo_queue_queue_test.exe
    if exist icl_demo_queue_queue.obj del icl_demo_queue_queue.obj
    if exist icl_demo_scope_test.obj del icl_demo_scope_test.obj
    if exist icl_demo_scope_test.exe del icl_demo_scope_test.exe
    if exist icl_demo_scope.obj del icl_demo_scope.obj
    if exist vc60.pdb del vc60.pdb
    goto :eof

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

:a_remove_generated_sources
    if exist icl_gen.gsl del icl_gen.gsl
    if exist icl_preproc.gsl del icl_preproc.gsl
    if exist icl_inherit.gsl del icl_inherit.gsl
    if exist icl_parse.gsl del icl_parse.gsl
    if exist icl_doc.txt del icl_doc.txt
    if exist icl_system_list.icl del icl_system_list.icl
    if exist icl_mem_fat_list.icl del icl_mem_fat_list.icl
    if exist icl_mem_thin_list.icl del icl_mem_thin_list.icl
    if exist icl_cache_list.icl del icl_cache_list.icl
    if exist icl_demo_list_list.icl del icl_demo_list_list.icl
    if exist icl_demo_list2_list.icl del icl_demo_list2_list.icl
    if exist icl_demo_list2_list2.icl del icl_demo_list2_list2.icl
    if exist icl_demo_hash_int_table.icl del icl_demo_hash_int_table.icl
    if exist icl_demo_hash_str_table.icl del icl_demo_hash_str_table.icl
    if exist icl_demo_hash_lstr_table.icl del icl_demo_hash_lstr_table.icl
    if exist icl_demo_array_array.icl del icl_demo_array_array.icl
    if exist icl_demo_stack_stack.icl del icl_demo_stack_stack.icl
    if exist icl_demo_queue_queue.icl del icl_demo_queue_queue.icl
    if exist icl.h del icl.h
    if exist icl_mutex_test.c del icl_mutex_test.c
    if exist icl_mutex.h del icl_mutex.h
    if exist icl_mutex.c del icl_mutex.c
    if exist icl_cond_test.c del icl_cond_test.c
    if exist icl_cond.h del icl_cond.h
    if exist icl_cond.c del icl_cond.c
    if exist icl_rwlock_test.c del icl_rwlock_test.c
    if exist icl_rwlock.h del icl_rwlock.h
    if exist icl_rwlock.c del icl_rwlock.c
    if exist icl_apr_test.c del icl_apr_test.c
    if exist icl_apr.h del icl_apr.h
    if exist icl_apr.c del icl_apr.c
    if exist icl_stats_test.c del icl_stats_test.c
    if exist icl_stats.h del icl_stats.h
    if exist icl_stats.c del icl_stats.c
    if exist icl_trace_test.c del icl_trace_test.c
    if exist icl_trace.h del icl_trace.h
    if exist icl_trace.c del icl_trace.c
    if exist icl_destroy_test.c del icl_destroy_test.c
    if exist icl_destroy.h del icl_destroy.h
    if exist icl_destroy.c del icl_destroy.c
    if exist icl_destroy_list_test.c del icl_destroy_list_test.c
    if exist icl_destroy_list.h del icl_destroy_list.h
    if exist icl_destroy_list.c del icl_destroy_list.c
    if exist icl_system_test.c del icl_system_test.c
    if exist icl_system.h del icl_system.h
    if exist icl_system.c del icl_system.c
    if exist icl_system_list_test.c del icl_system_list_test.c
    if exist icl_system_list.h del icl_system_list.h
    if exist icl_system_list.c del icl_system_list.c
    if exist icl_console_test.c del icl_console_test.c
    if exist icl_console.h del icl_console.h
    if exist icl_console.c del icl_console.c
    if exist icl_longstr_test.c del icl_longstr_test.c
    if exist icl_longstr.h del icl_longstr.h
    if exist icl_longstr.c del icl_longstr.c
    if exist icl_shortstr_test.c del icl_shortstr_test.c
    if exist icl_shortstr.h del icl_shortstr.h
    if exist icl_shortstr.c del icl_shortstr.c
    if exist icl_mem_test.c del icl_mem_test.c
    if exist icl_mem.h del icl_mem.h
    if exist icl_mem.c del icl_mem.c
    if exist icl_mem_fat_test.c del icl_mem_fat_test.c
    if exist icl_mem_fat.h del icl_mem_fat.h
    if exist icl_mem_fat.c del icl_mem_fat.c
    if exist icl_mem_fat_list_test.c del icl_mem_fat_list_test.c
    if exist icl_mem_fat_list.h del icl_mem_fat_list.h
    if exist icl_mem_fat_list.c del icl_mem_fat_list.c
    if exist icl_mem_thin_test.c del icl_mem_thin_test.c
    if exist icl_mem_thin.h del icl_mem_thin.h
    if exist icl_mem_thin.c del icl_mem_thin.c
    if exist icl_mem_thin_list_test.c del icl_mem_thin_list_test.c
    if exist icl_mem_thin_list.h del icl_mem_thin_list.h
    if exist icl_mem_thin_list.c del icl_mem_thin_list.c
    if exist icl_cache_test.c del icl_cache_test.c
    if exist icl_cache.h del icl_cache.h
    if exist icl_cache.c del icl_cache.c
    if exist icl_cache_list_test.c del icl_cache_list_test.c
    if exist icl_cache_list.h del icl_cache_list.h
    if exist icl_cache_list.c del icl_cache_list.c
    if exist icl_demo_rwlock_test.c del icl_demo_rwlock_test.c
    if exist icl_demo_rwlock.h del icl_demo_rwlock.h
    if exist icl_demo_rwlock.c del icl_demo_rwlock.c
    if exist icl_demo_thread_test.c del icl_demo_thread_test.c
    if exist icl_demo_thread.h del icl_demo_thread.h
    if exist icl_demo_thread.c del icl_demo_thread.c
    if exist icl_demo_plain_test.c del icl_demo_plain_test.c
    if exist icl_demo_plain.h del icl_demo_plain.h
    if exist icl_demo_plain.c del icl_demo_plain.c
    if exist icl_demo_cache_test.c del icl_demo_cache_test.c
    if exist icl_demo_cache.h del icl_demo_cache.h
    if exist icl_demo_cache.c del icl_demo_cache.c
    if exist icl_demo_local_test.c del icl_demo_local_test.c
    if exist icl_demo_local.h del icl_demo_local.h
    if exist icl_demo_local.c del icl_demo_local.c
    if exist icl_demo_possess_test.c del icl_demo_possess_test.c
    if exist icl_demo_possess.h del icl_demo_possess.h
    if exist icl_demo_possess.c del icl_demo_possess.c
    if exist icl_demo_links_test.c del icl_demo_links_test.c
    if exist icl_demo_links.h del icl_demo_links.h
    if exist icl_demo_links.c del icl_demo_links.c
    if exist icl_demo_list_test.c del icl_demo_list_test.c
    if exist icl_demo_list.h del icl_demo_list.h
    if exist icl_demo_list.c del icl_demo_list.c
    if exist icl_demo_list_list_test.c del icl_demo_list_list_test.c
    if exist icl_demo_list_list.h del icl_demo_list_list.h
    if exist icl_demo_list_list.c del icl_demo_list_list.c
    if exist icl_demo_list2_test.c del icl_demo_list2_test.c
    if exist icl_demo_list2.h del icl_demo_list2.h
    if exist icl_demo_list2.c del icl_demo_list2.c
    if exist icl_demo_list2_list_test.c del icl_demo_list2_list_test.c
    if exist icl_demo_list2_list.h del icl_demo_list2_list.h
    if exist icl_demo_list2_list.c del icl_demo_list2_list.c
    if exist icl_demo_list2_list2_test.c del icl_demo_list2_list2_test.c
    if exist icl_demo_list2_list2.h del icl_demo_list2_list2.h
    if exist icl_demo_list2_list2.c del icl_demo_list2_list2.c
    if exist icl_demo_hash_int_test.c del icl_demo_hash_int_test.c
    if exist icl_demo_hash_int.h del icl_demo_hash_int.h
    if exist icl_demo_hash_int.c del icl_demo_hash_int.c
    if exist icl_demo_hash_int_table_test.c del icl_demo_hash_int_table_test.c
    if exist icl_demo_hash_int_table.h del icl_demo_hash_int_table.h
    if exist icl_demo_hash_int_table.c del icl_demo_hash_int_table.c
    if exist icl_demo_hash_str_test.c del icl_demo_hash_str_test.c
    if exist icl_demo_hash_str.h del icl_demo_hash_str.h
    if exist icl_demo_hash_str.c del icl_demo_hash_str.c
    if exist icl_demo_hash_str_table_test.c del icl_demo_hash_str_table_test.c
    if exist icl_demo_hash_str_table.h del icl_demo_hash_str_table.h
    if exist icl_demo_hash_str_table.c del icl_demo_hash_str_table.c
    if exist icl_demo_hash_lstr_test.c del icl_demo_hash_lstr_test.c
    if exist icl_demo_hash_lstr.h del icl_demo_hash_lstr.h
    if exist icl_demo_hash_lstr.c del icl_demo_hash_lstr.c
    if exist icl_demo_hash_lstr_table_test.c del icl_demo_hash_lstr_table_test.c
    if exist icl_demo_hash_lstr_table.h del icl_demo_hash_lstr_table.h
    if exist icl_demo_hash_lstr_table.c del icl_demo_hash_lstr_table.c
    if exist icl_demo_serial_test.c del icl_demo_serial_test.c
    if exist icl_demo_serial.h del icl_demo_serial.h
    if exist icl_demo_serial.c del icl_demo_serial.c
    if exist icl_demo_array_test.c del icl_demo_array_test.c
    if exist icl_demo_array.h del icl_demo_array.h
    if exist icl_demo_array.c del icl_demo_array.c
    if exist icl_demo_array_array_test.c del icl_demo_array_array_test.c
    if exist icl_demo_array_array.h del icl_demo_array_array.h
    if exist icl_demo_array_array.c del icl_demo_array_array.c
    if exist icl_demo_stack_test.c del icl_demo_stack_test.c
    if exist icl_demo_stack.h del icl_demo_stack.h
    if exist icl_demo_stack.c del icl_demo_stack.c
    if exist icl_demo_stack_stack_test.c del icl_demo_stack_stack_test.c
    if exist icl_demo_stack_stack.h del icl_demo_stack_stack.h
    if exist icl_demo_stack_stack.c del icl_demo_stack_stack.c
    if exist icl_demo_queue_test.c del icl_demo_queue_test.c
    if exist icl_demo_queue.h del icl_demo_queue.h
    if exist icl_demo_queue.c del icl_demo_queue.c
    if exist icl_demo_queue_queue_test.c del icl_demo_queue_queue_test.c
    if exist icl_demo_queue_queue.h del icl_demo_queue_queue.h
    if exist icl_demo_queue_queue.c del icl_demo_queue_queue.c
    if exist icl_demo_scope_test.c del icl_demo_scope_test.c
    if exist icl_demo_scope.h del icl_demo_scope.h
    if exist icl_demo_scope.c del icl_demo_scope.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 libicl.vcproj del libicl.vcproj
    if exist iCL_*.zip del iCL_*.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 iCL-1.0a1
    goto :eof

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

:a_run_regression_tests
    echo boom I: [iCL]: Running regression tests...
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_mutex_test
    ) else (
        set RUN_COMMAND=icl_mutex_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_cond_test
    ) else (
        set RUN_COMMAND=icl_cond_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_rwlock_test
    ) else (
        set RUN_COMMAND=icl_rwlock_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_apr_test
    ) else (
        set RUN_COMMAND=icl_apr_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_stats_test
    ) else (
        set RUN_COMMAND=icl_stats_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_trace_test
    ) else (
        set RUN_COMMAND=icl_trace_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_destroy_test
    ) else (
        set RUN_COMMAND=icl_destroy_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_destroy_list_test
    ) else (
        set RUN_COMMAND=icl_destroy_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_system_test
    ) else (
        set RUN_COMMAND=icl_system_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_system_list_test
    ) else (
        set RUN_COMMAND=icl_system_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_console_test
    ) else (
        set RUN_COMMAND=icl_console_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_longstr_test
    ) else (
        set RUN_COMMAND=icl_longstr_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_shortstr_test
    ) else (
        set RUN_COMMAND=icl_shortstr_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_mem_test
    ) else (
        set RUN_COMMAND=icl_mem_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_mem_fat_test
    ) else (
        set RUN_COMMAND=icl_mem_fat_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_mem_fat_list_test
    ) else (
        set RUN_COMMAND=icl_mem_fat_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_mem_thin_test
    ) else (
        set RUN_COMMAND=icl_mem_thin_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_mem_thin_list_test
    ) else (
        set RUN_COMMAND=icl_mem_thin_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_cache_test
    ) else (
        set RUN_COMMAND=icl_cache_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_cache_list_test
    ) else (
        set RUN_COMMAND=icl_cache_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_rwlock_test
    ) else (
        set RUN_COMMAND=icl_demo_rwlock_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_thread_test
    ) else (
        set RUN_COMMAND=icl_demo_thread_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_plain_test
    ) else (
        set RUN_COMMAND=icl_demo_plain_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_cache_test
    ) else (
        set RUN_COMMAND=icl_demo_cache_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_local_test
    ) else (
        set RUN_COMMAND=icl_demo_local_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_possess_test
    ) else (
        set RUN_COMMAND=icl_demo_possess_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_links_test
    ) else (
        set RUN_COMMAND=icl_demo_links_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_list_test
    ) else (
        set RUN_COMMAND=icl_demo_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_list_list_test
    ) else (
        set RUN_COMMAND=icl_demo_list_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_list2_test
    ) else (
        set RUN_COMMAND=icl_demo_list2_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_list2_list_test
    ) else (
        set RUN_COMMAND=icl_demo_list2_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_list2_list2_test
    ) else (
        set RUN_COMMAND=icl_demo_list2_list2_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_hash_int_test
    ) else (
        set RUN_COMMAND=icl_demo_hash_int_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_hash_int_table_test
    ) else (
        set RUN_COMMAND=icl_demo_hash_int_table_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_hash_str_test
    ) else (
        set RUN_COMMAND=icl_demo_hash_str_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_hash_str_table_test
    ) else (
        set RUN_COMMAND=icl_demo_hash_str_table_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_hash_lstr_test
    ) else (
        set RUN_COMMAND=icl_demo_hash_lstr_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_hash_lstr_table_test
    ) else (
        set RUN_COMMAND=icl_demo_hash_lstr_table_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_serial_test
    ) else (
        set RUN_COMMAND=icl_demo_serial_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_array_test
    ) else (
        set RUN_COMMAND=icl_demo_array_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_array_array_test
    ) else (
        set RUN_COMMAND=icl_demo_array_array_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_stack_test
    ) else (
        set RUN_COMMAND=icl_demo_stack_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_stack_stack_test
    ) else (
        set RUN_COMMAND=icl_demo_stack_stack_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_queue_test
    ) else (
        set RUN_COMMAND=icl_demo_queue_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_queue_queue_test
    ) else (
        set RUN_COMMAND=icl_demo_queue_queue_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=icl_demo_scope_test
    ) else (
        set RUN_COMMAND=icl_demo_scope_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [iCL]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    :-  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: [iCL]: '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
