@echo off
:-
:-  Boom builder for PCRE 6.6
:-  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=6.6
set OLDPATH=!PATH!
set OLDPERLLIB=!PERLLIB!
if .!IBASE!==. (
    echo boom E: [PCRE]: The IBASE variable is not set.            Please set it to the location where PCRE 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
    echo boom I: [PCRE]: Building PCRE...
    if "!MSVCDir!"=="" set MSVCDir=C:\Program Files\Microsoft Visual Studio\VC98
    if not exist "!MSVCDir!\bin" (
        echo boom E: [PCRE]: Cannot find MSVC compiler in !MSVCdir!.
        echo boom E: [PCRE]: Please set MSVCDir environment variable to VC98 directory.
        set _exception=1
        goto :eof
    )
    set INCDIR=
    set LIBDIR=
    if "!BOOM_TRACE!"=="1" (
        set MY_COPTS=-v
    ) else (
        set MY_COPTS=-q
    )
    if not "!_LOCAL_BASE!"=="" (
        set MY_COPTS=!MY_COPTS! -li !_LOCAL_BASE!\include -ll !_LOCAL_BASE!\lib
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_chartables
    verify>nul
    call c !MY_COPTS! pcre_chartables
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_chartables' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_compile
    verify>nul
    call c !MY_COPTS! pcre_compile
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_compile' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_config
    verify>nul
    call c !MY_COPTS! pcre_config
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_config' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_dfa_exec
    verify>nul
    call c !MY_COPTS! pcre_dfa_exec
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_dfa_exec' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_exec
    verify>nul
    call c !MY_COPTS! pcre_exec
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_exec' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_fullinfo
    verify>nul
    call c !MY_COPTS! pcre_fullinfo
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_fullinfo' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_get
    verify>nul
    call c !MY_COPTS! pcre_get
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_get' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_globals
    verify>nul
    call c !MY_COPTS! pcre_globals
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_globals' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_info
    verify>nul
    call c !MY_COPTS! pcre_info
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_info' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_maketables
    verify>nul
    call c !MY_COPTS! pcre_maketables
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_maketables' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_ord2utf8
    verify>nul
    call c !MY_COPTS! pcre_ord2utf8
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_ord2utf8' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_refcount
    verify>nul
    call c !MY_COPTS! pcre_refcount
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_refcount' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_study
    verify>nul
    call c !MY_COPTS! pcre_study
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_study' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_tables
    verify>nul
    call c !MY_COPTS! pcre_tables
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_tables' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_try_flipped
    verify>nul
    call c !MY_COPTS! pcre_try_flipped
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_try_flipped' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_ucp_searchfuncs
    verify>nul
    call c !MY_COPTS! pcre_ucp_searchfuncs
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_ucp_searchfuncs' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_valid_utf8
    verify>nul
    call c !MY_COPTS! pcre_valid_utf8
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_valid_utf8' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_version
    verify>nul
    call c !MY_COPTS! pcre_version
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_version' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcre_xclass
    verify>nul
    call c !MY_COPTS! pcre_xclass
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcre_xclass' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! dftables
    verify>nul
    call c !MY_COPTS! dftables
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! dftables' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcregrep
    verify>nul
    call c !MY_COPTS! pcregrep
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcregrep' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcredemo
    verify>nul
    call c !MY_COPTS! pcredemo
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcredemo' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! pcretest
    verify>nul
    call c !MY_COPTS! pcretest
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! pcretest' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_chartables
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_chartables
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_chartables' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_compile
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_compile
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_compile' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_config
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_config
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_config' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_dfa_exec
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_dfa_exec
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_dfa_exec' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_exec
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_exec
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_exec' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_fullinfo
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_fullinfo
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_fullinfo' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_get
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_get
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_get' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_globals
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_globals
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_globals' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_info
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_info
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_info' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_maketables
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_maketables
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_maketables' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_ord2utf8
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_ord2utf8
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_ord2utf8' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_refcount
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_refcount
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_refcount' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_study
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_study
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_study' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_tables
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_tables
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_tables' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_try_flipped
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_try_flipped
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_try_flipped' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_ucp_searchfuncs
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_ucp_searchfuncs
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_ucp_searchfuncs' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_valid_utf8
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_valid_utf8
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_valid_utf8' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_version
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_version
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_version' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libpcre.lib pcre_xclass
    verify>nul
    call c !MY_COPTS! -r libpcre.lib pcre_xclass
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -r libpcre.lib pcre_xclass' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L dftables
    verify>nul
    call c !MY_COPTS! -L dftables
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -L dftables' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L pcregrep
    verify>nul
    call c !MY_COPTS! -L pcregrep
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -L pcregrep' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L pcredemo
    verify>nul
    call c !MY_COPTS! -L pcredemo
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -L pcredemo' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L pcretest
    verify>nul
    call c !MY_COPTS! -L pcretest
    if errorlevel 1 (
        echo boom E: [PCRE]: 'c !MY_COPTS! -L pcretest' failed - stop.
        set _exception=1
        goto :eof
    )
    goto :eof

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

:a_build_source_packages
   if exist _package.lst del _package.lst
    if exist pcre\pcre_chartables.c echo pcre\pcre_chartables.c>>_package.lst
    if exist pcre\pcre_compile.c echo pcre\pcre_compile.c>>_package.lst
    if exist pcre\pcre_config.c echo pcre\pcre_config.c>>_package.lst
    if exist pcre\pcre_dfa_exec.c echo pcre\pcre_dfa_exec.c>>_package.lst
    if exist pcre\pcre_exec.c echo pcre\pcre_exec.c>>_package.lst
    if exist pcre\pcre_fullinfo.c echo pcre\pcre_fullinfo.c>>_package.lst
    if exist pcre\pcre_get.c echo pcre\pcre_get.c>>_package.lst
    if exist pcre\pcre_globals.c echo pcre\pcre_globals.c>>_package.lst
    if exist pcre\pcre_info.c echo pcre\pcre_info.c>>_package.lst
    if exist pcre\pcre_maketables.c echo pcre\pcre_maketables.c>>_package.lst
    if exist pcre\pcre_ord2utf8.c echo pcre\pcre_ord2utf8.c>>_package.lst
    if exist pcre\pcre_refcount.c echo pcre\pcre_refcount.c>>_package.lst
    if exist pcre\pcre_study.c echo pcre\pcre_study.c>>_package.lst
    if exist pcre\pcre_tables.c echo pcre\pcre_tables.c>>_package.lst
    if exist pcre\pcre_try_flipped.c echo pcre\pcre_try_flipped.c>>_package.lst
    if exist pcre\pcre_ucp_searchfuncs.c echo pcre\pcre_ucp_searchfuncs.c>>_package.lst
    if exist pcre\pcre_valid_utf8.c echo pcre\pcre_valid_utf8.c>>_package.lst
    if exist pcre\pcre_version.c echo pcre\pcre_version.c>>_package.lst
    if exist pcre\pcre_xclass.c echo pcre\pcre_xclass.c>>_package.lst
    if exist pcre\pcre.h echo pcre\pcre.h>>_package.lst
    if exist pcre\pcre_internal.h echo pcre\pcre_internal.h>>_package.lst
    if exist pcre\pcre_scanner.h echo pcre\pcre_scanner.h>>_package.lst
    if exist pcre\pcre_printint.src echo pcre\pcre_printint.src>>_package.lst
    if exist pcre\ucpinternal.h echo pcre\ucpinternal.h>>_package.lst
    if exist pcre\ucp.h echo pcre\ucp.h>>_package.lst
    if exist pcre\ucptable.c echo pcre\ucptable.c>>_package.lst
    if exist pcre\config.h echo pcre\config.h>>_package.lst
    if exist pcre\dftables.c echo pcre\dftables.c>>_package.lst
    if exist pcre\pcregrep.c echo pcre\pcregrep.c>>_package.lst
    if exist pcre\pcredemo.c echo pcre\pcredemo.c>>_package.lst
    if exist pcre\pcretest.c echo pcre\pcretest.c>>_package.lst
    if exist pcre\AUTHORS echo pcre\AUTHORS>>_package.lst
    if exist pcre\ChangeLog echo pcre\ChangeLog>>_package.lst
    if exist pcre\COPYING echo pcre\COPYING>>_package.lst
    if exist pcre\INSTALL echo pcre\INSTALL>>_package.lst
    if exist pcre\LICENCE echo pcre\LICENCE>>_package.lst
    if exist pcre\NEWS echo pcre\NEWS>>_package.lst
    if exist pcre\NON-UNIX-USE echo pcre\NON-UNIX-USE>>_package.lst
    if exist pcre\README echo pcre\README>>_package.lst
    if exist pcre\prelude.pdl echo pcre\prelude.pdl>>_package.lst
    if exist pcre\license.gpl echo pcre\license.gpl>>_package.lst
    if exist pcre\project.pdl echo pcre\project.pdl>>_package.lst
    if exist pcre\readme.txt echo pcre\readme.txt>>_package.lst
    if exist pcre\stamp_generate echo pcre\stamp_generate>>_package.lst
    if exist pcre\configure echo pcre\configure>>_package.lst
    if exist pcre\Makefile.unix echo pcre\Makefile.unix>>_package.lst
    if exist pcre\boomake echo pcre\boomake>>_package.lst
    if exist pcre\configure.bat echo pcre\configure.bat>>_package.lst
    if exist pcre\Makefile.win32 echo pcre\Makefile.win32>>_package.lst
    if exist pcre\boomake.bat echo pcre\boomake.bat>>_package.lst
    if exist pcre\boomakew.bat echo pcre\boomakew.bat>>_package.lst
    echo "Source package successfully generated">stamp_source
    echo "stamp_source">>_package.lst
    echo boom I: [PCRE]: Building PCRE-!MY_VERSION!-src.zip...
    zip  -rq _package -@<_package.lst
    unzip -q _package -d PCRE-!MY_VERSION!
    if exist  PCRE-!MY_VERSION!-src.zip del PCRE-!MY_VERSION!-src.zip
    zip -rmq PCRE-!MY_VERSION!-src.zip PCRE-!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 pcre_chartables.c (
        echo boom E: [PCRE]: pcre_chartables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_compile.c (
        echo boom E: [PCRE]: pcre_compile.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_config.c (
        echo boom E: [PCRE]: pcre_config.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_dfa_exec.c (
        echo boom E: [PCRE]: pcre_dfa_exec.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_exec.c (
        echo boom E: [PCRE]: pcre_exec.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_fullinfo.c (
        echo boom E: [PCRE]: pcre_fullinfo.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_get.c (
        echo boom E: [PCRE]: pcre_get.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_globals.c (
        echo boom E: [PCRE]: pcre_globals.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_info.c (
        echo boom E: [PCRE]: pcre_info.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_maketables.c (
        echo boom E: [PCRE]: pcre_maketables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_ord2utf8.c (
        echo boom E: [PCRE]: pcre_ord2utf8.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_refcount.c (
        echo boom E: [PCRE]: pcre_refcount.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_study.c (
        echo boom E: [PCRE]: pcre_study.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_tables.c (
        echo boom E: [PCRE]: pcre_tables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_try_flipped.c (
        echo boom E: [PCRE]: pcre_try_flipped.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_ucp_searchfuncs.c (
        echo boom E: [PCRE]: pcre_ucp_searchfuncs.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_valid_utf8.c (
        echo boom E: [PCRE]: pcre_valid_utf8.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_version.c (
        echo boom E: [PCRE]: pcre_version.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_xclass.c (
        echo boom E: [PCRE]: pcre_xclass.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre.h (
        echo boom E: [PCRE]: pcre.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_internal.h (
        echo boom E: [PCRE]: pcre_internal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_scanner.h (
        echo boom E: [PCRE]: pcre_scanner.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_printint.src (
        echo boom E: [PCRE]: pcre_printint.src is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ucpinternal.h (
        echo boom E: [PCRE]: ucpinternal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ucp.h (
        echo boom E: [PCRE]: ucp.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ucptable.c (
        echo boom E: [PCRE]: ucptable.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist config.h (
        echo boom E: [PCRE]: config.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist dftables.c (
        echo boom E: [PCRE]: dftables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcregrep.c (
        echo boom E: [PCRE]: pcregrep.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcredemo.c (
        echo boom E: [PCRE]: pcredemo.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcretest.c (
        echo boom E: [PCRE]: pcretest.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist AUTHORS (
        echo boom E: [PCRE]: AUTHORS is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ChangeLog (
        echo boom E: [PCRE]: ChangeLog is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist COPYING (
        echo boom E: [PCRE]: COPYING is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist INSTALL (
        echo boom E: [PCRE]: INSTALL is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist LICENCE (
        echo boom E: [PCRE]: LICENCE is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist NEWS (
        echo boom E: [PCRE]: NEWS is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist NON-UNIX-USE (
        echo boom E: [PCRE]: NON-UNIX-USE is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist README (
        echo boom E: [PCRE]: README is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [PCRE]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [PCRE]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist stamp_generate (
        echo boom E: [PCRE]: stamp_generate is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure (
        echo boom E: [PCRE]: configure is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.unix (
        echo boom E: [PCRE]: Makefile.unix is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [PCRE]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure.bat (
        echo boom E: [PCRE]: configure.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.win32 (
        echo boom E: [PCRE]: Makefile.win32 is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [PCRE]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [PCRE]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    goto :eof

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

:a_check_binary_files_exist
    if not exist pcre.h (
        echo boom E: [PCRE]: pcre.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist AUTHORS (
        echo boom E: [PCRE]: AUTHORS is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ChangeLog (
        echo boom E: [PCRE]: ChangeLog is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist COPYING (
        echo boom E: [PCRE]: COPYING is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist INSTALL (
        echo boom E: [PCRE]: INSTALL is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist LICENCE (
        echo boom E: [PCRE]: LICENCE is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist NEWS (
        echo boom E: [PCRE]: NEWS is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist NON-UNIX-USE (
        echo boom E: [PCRE]: NON-UNIX-USE is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist README (
        echo boom E: [PCRE]: README is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist libpcre.lib (
        echo boom E: [PCRE]: libpcre.lib is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [PCRE]: readme.txt 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 pcre_compile.c (
        echo boom E: [PCRE]: pcre_compile.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_config.c (
        echo boom E: [PCRE]: pcre_config.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_dfa_exec.c (
        echo boom E: [PCRE]: pcre_dfa_exec.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_exec.c (
        echo boom E: [PCRE]: pcre_exec.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_fullinfo.c (
        echo boom E: [PCRE]: pcre_fullinfo.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_get.c (
        echo boom E: [PCRE]: pcre_get.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_globals.c (
        echo boom E: [PCRE]: pcre_globals.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_info.c (
        echo boom E: [PCRE]: pcre_info.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_maketables.c (
        echo boom E: [PCRE]: pcre_maketables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_ord2utf8.c (
        echo boom E: [PCRE]: pcre_ord2utf8.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_refcount.c (
        echo boom E: [PCRE]: pcre_refcount.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_study.c (
        echo boom E: [PCRE]: pcre_study.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_tables.c (
        echo boom E: [PCRE]: pcre_tables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_try_flipped.c (
        echo boom E: [PCRE]: pcre_try_flipped.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_ucp_searchfuncs.c (
        echo boom E: [PCRE]: pcre_ucp_searchfuncs.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_valid_utf8.c (
        echo boom E: [PCRE]: pcre_valid_utf8.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_version.c (
        echo boom E: [PCRE]: pcre_version.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_xclass.c (
        echo boom E: [PCRE]: pcre_xclass.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre.h (
        echo boom E: [PCRE]: pcre.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_internal.h (
        echo boom E: [PCRE]: pcre_internal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_scanner.h (
        echo boom E: [PCRE]: pcre_scanner.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_printint.src (
        echo boom E: [PCRE]: pcre_printint.src is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ucpinternal.h (
        echo boom E: [PCRE]: ucpinternal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ucp.h (
        echo boom E: [PCRE]: ucp.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ucptable.c (
        echo boom E: [PCRE]: ucptable.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist config.h (
        echo boom E: [PCRE]: config.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist dftables.c (
        echo boom E: [PCRE]: dftables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcregrep.c (
        echo boom E: [PCRE]: pcregrep.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcredemo.c (
        echo boom E: [PCRE]: pcredemo.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcretest.c (
        echo boom E: [PCRE]: pcretest.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist AUTHORS (
        echo boom E: [PCRE]: AUTHORS is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ChangeLog (
        echo boom E: [PCRE]: ChangeLog is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist COPYING (
        echo boom E: [PCRE]: COPYING is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist INSTALL (
        echo boom E: [PCRE]: INSTALL is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist LICENCE (
        echo boom E: [PCRE]: LICENCE is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist NEWS (
        echo boom E: [PCRE]: NEWS is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist NON-UNIX-USE (
        echo boom E: [PCRE]: NON-UNIX-USE is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist README (
        echo boom E: [PCRE]: README is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [PCRE]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [PCRE]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [PCRE]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [PCRE]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [PCRE]: 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 pcre_chartables.c (
        echo boom E: [PCRE]: pcre_chartables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_compile.c (
        echo boom E: [PCRE]: pcre_compile.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_config.c (
        echo boom E: [PCRE]: pcre_config.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_dfa_exec.c (
        echo boom E: [PCRE]: pcre_dfa_exec.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_exec.c (
        echo boom E: [PCRE]: pcre_exec.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_fullinfo.c (
        echo boom E: [PCRE]: pcre_fullinfo.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_get.c (
        echo boom E: [PCRE]: pcre_get.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_globals.c (
        echo boom E: [PCRE]: pcre_globals.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_info.c (
        echo boom E: [PCRE]: pcre_info.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_maketables.c (
        echo boom E: [PCRE]: pcre_maketables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_ord2utf8.c (
        echo boom E: [PCRE]: pcre_ord2utf8.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_refcount.c (
        echo boom E: [PCRE]: pcre_refcount.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_study.c (
        echo boom E: [PCRE]: pcre_study.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_tables.c (
        echo boom E: [PCRE]: pcre_tables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_try_flipped.c (
        echo boom E: [PCRE]: pcre_try_flipped.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_ucp_searchfuncs.c (
        echo boom E: [PCRE]: pcre_ucp_searchfuncs.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_valid_utf8.c (
        echo boom E: [PCRE]: pcre_valid_utf8.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_version.c (
        echo boom E: [PCRE]: pcre_version.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_xclass.c (
        echo boom E: [PCRE]: pcre_xclass.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre.h (
        echo boom E: [PCRE]: pcre.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_internal.h (
        echo boom E: [PCRE]: pcre_internal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_scanner.h (
        echo boom E: [PCRE]: pcre_scanner.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcre_printint.src (
        echo boom E: [PCRE]: pcre_printint.src is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ucpinternal.h (
        echo boom E: [PCRE]: ucpinternal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ucp.h (
        echo boom E: [PCRE]: ucp.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ucptable.c (
        echo boom E: [PCRE]: ucptable.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist config.h (
        echo boom E: [PCRE]: config.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist dftables.c (
        echo boom E: [PCRE]: dftables.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcregrep.c (
        echo boom E: [PCRE]: pcregrep.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcredemo.c (
        echo boom E: [PCRE]: pcredemo.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist pcretest.c (
        echo boom E: [PCRE]: pcretest.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist AUTHORS (
        echo boom E: [PCRE]: AUTHORS is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist ChangeLog (
        echo boom E: [PCRE]: ChangeLog is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist COPYING (
        echo boom E: [PCRE]: COPYING is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist INSTALL (
        echo boom E: [PCRE]: INSTALL is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist LICENCE (
        echo boom E: [PCRE]: LICENCE is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist NEWS (
        echo boom E: [PCRE]: NEWS is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist NON-UNIX-USE (
        echo boom E: [PCRE]: NON-UNIX-USE is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist README (
        echo boom E: [PCRE]: README is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [PCRE]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [PCRE]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist stamp_generate (
        echo boom E: [PCRE]: stamp_generate is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure (
        echo boom E: [PCRE]: configure is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.unix (
        echo boom E: [PCRE]: Makefile.unix is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [PCRE]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure.bat (
        echo boom E: [PCRE]: configure.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.win32 (
        echo boom E: [PCRE]: Makefile.win32 is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [PCRE]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [PCRE]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    goto :eof

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

:a_install_deliverables
    echo boom I: [PCRE]: installing PCRE into !_INSTALL_ROOT!...
    if not exist !_INSTALL_ROOT! mkdir !_INSTALL_ROOT!
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y pcre.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y pcre.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y pcre.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\doc\PCRE\nul mkdir !_INSTALL_ROOT!\doc\PCRE\
    if "!BOOM_TRACE!"=="1" echo copy/y AUTHORS !_INSTALL_ROOT!\doc\PCRE\>nul
    verify>nul
    call copy/y AUTHORS !_INSTALL_ROOT!\doc\PCRE\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y AUTHORS !_INSTALL_ROOT!\doc\PCRE\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y ChangeLog !_INSTALL_ROOT!\doc\PCRE\>nul
    verify>nul
    call copy/y ChangeLog !_INSTALL_ROOT!\doc\PCRE\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y ChangeLog !_INSTALL_ROOT!\doc\PCRE\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y COPYING !_INSTALL_ROOT!\doc\PCRE\>nul
    verify>nul
    call copy/y COPYING !_INSTALL_ROOT!\doc\PCRE\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y COPYING !_INSTALL_ROOT!\doc\PCRE\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y INSTALL !_INSTALL_ROOT!\doc\PCRE\>nul
    verify>nul
    call copy/y INSTALL !_INSTALL_ROOT!\doc\PCRE\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y INSTALL !_INSTALL_ROOT!\doc\PCRE\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y LICENCE !_INSTALL_ROOT!\doc\PCRE\>nul
    verify>nul
    call copy/y LICENCE !_INSTALL_ROOT!\doc\PCRE\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y LICENCE !_INSTALL_ROOT!\doc\PCRE\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y NEWS !_INSTALL_ROOT!\doc\PCRE\>nul
    verify>nul
    call copy/y NEWS !_INSTALL_ROOT!\doc\PCRE\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y NEWS !_INSTALL_ROOT!\doc\PCRE\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y NON-UNIX-USE !_INSTALL_ROOT!\doc\PCRE\>nul
    verify>nul
    call copy/y NON-UNIX-USE !_INSTALL_ROOT!\doc\PCRE\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y NON-UNIX-USE !_INSTALL_ROOT!\doc\PCRE\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y README !_INSTALL_ROOT!\doc\PCRE\>nul
    verify>nul
    call copy/y README !_INSTALL_ROOT!\doc\PCRE\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y README !_INSTALL_ROOT!\doc\PCRE\>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 libpcre.lib !_INSTALL_ROOT!\lib\>nul
    verify>nul
    call copy/y libpcre.lib !_INSTALL_ROOT!\lib\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y libpcre.lib !_INSTALL_ROOT!\lib\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if not exist !_INSTALL_ROOT!\doc\PCRE\nul mkdir !_INSTALL_ROOT!\doc\PCRE\
    if "!BOOM_TRACE!"=="1" echo copy/y readme.txt !_INSTALL_ROOT!\doc\PCRE\>nul
    verify>nul
    call copy/y readme.txt !_INSTALL_ROOT!\doc\PCRE\>nul
    if errorlevel 1 (
        echo boom E: [PCRE]: 'copy/y readme.txt !_INSTALL_ROOT!\doc\PCRE\>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: [PCRE]: 'installer' failed - stop.
        set _exception=1
        goto :eof
    )
    )
    goto :eof

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

:a_produce_all_generated_files
    echo boom I: [PCRE]: Generating files...

        call c -q -l dftables
        dftables pcre_chartables.c
    
    echo Source files successfully generated>stamp_generate
    goto :eof

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

:a_produce_generated_files
    echo boom I: [PCRE]: Generating files...

        call c -q -l dftables
        dftables pcre_chartables.c
    
    echo Source files successfully generated>stamp_generate
    goto :eof

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

:a_remove_generated_binaries
    if exist libpcre.lib del libpcre.lib
    if exist pcre_chartables.obj del pcre_chartables.obj
    if exist pcre_compile.obj del pcre_compile.obj
    if exist pcre_config.obj del pcre_config.obj
    if exist pcre_dfa_exec.obj del pcre_dfa_exec.obj
    if exist pcre_exec.obj del pcre_exec.obj
    if exist pcre_fullinfo.obj del pcre_fullinfo.obj
    if exist pcre_get.obj del pcre_get.obj
    if exist pcre_globals.obj del pcre_globals.obj
    if exist pcre_info.obj del pcre_info.obj
    if exist pcre_maketables.obj del pcre_maketables.obj
    if exist pcre_ord2utf8.obj del pcre_ord2utf8.obj
    if exist pcre_refcount.obj del pcre_refcount.obj
    if exist pcre_study.obj del pcre_study.obj
    if exist pcre_tables.obj del pcre_tables.obj
    if exist pcre_try_flipped.obj del pcre_try_flipped.obj
    if exist pcre_ucp_searchfuncs.obj del pcre_ucp_searchfuncs.obj
    if exist pcre_valid_utf8.obj del pcre_valid_utf8.obj
    if exist pcre_version.obj del pcre_version.obj
    if exist pcre_xclass.obj del pcre_xclass.obj
    if exist dftables.obj del dftables.obj
    if exist dftables.exe del dftables.exe
    if exist pcregrep.obj del pcregrep.obj
    if exist pcregrep.exe del pcregrep.exe
    if exist pcredemo.obj del pcredemo.obj
    if exist pcredemo.exe del pcredemo.exe
    if exist pcretest.obj del pcretest.obj
    if exist pcretest.exe del pcretest.exe
    if exist vc60.pdb del vc60.pdb
    goto :eof

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

:a_remove_generated_sources
    if exist pcre_chartables.c del pcre_chartables.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 PCRE_*.zip del PCRE_*.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 PCRE-6.6
    goto :eof

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

:a_run_regression_tests
    :-  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: [PCRE]: '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
    echo Unknown command - use one of:
    echo.
    goto r_!state!
: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
    exit /b 0

: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
    echo Unknown command - use one of:
    echo.
    goto r_!state!
: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
    exit /b 0

: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
    echo Unknown command - use one of:
    echo.
    goto r_!state!
: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.
    exit /b 0


exit /b 0
