REM Define some user parameters here REM The file where all output is stored set INSTALL_LOG=g:\54dev_deliv\install.log REM NB: The following directory is where a new version of ec.exe will be finalized. set FINALIZATION_DIR=g:\54dev_deliv REM NB: The following directory must contain document.exe set DOCUMENT_DIR=g:\Deliv_54 REM Tag to export files in CVS set DEFAULT_CVS_TAG=Eiffel_54 REM NB: The following directory will be erased! set TMP_EIFFEL_SRC=g:\tmpdev REM Where the new delivery is set up. Warning: if it exists, the directory will be erased! set INSTALL_DIR=f:\InstalledEiffel52 REM Where Visual C++ is installed (to recompile the run-time) set C_COMPILER_PATH=d:\\apps\\MSVC\\VC98 REM Get where hhc and wfwi are located, to be able to compile the documentation and the delivery. set PATH=%PATH;"D:\apps\HTMLHelp";"d:\apps\Wise" REM OK The rest is private, no need for you to see it :) REM File management REM Copy also hidden files, keep attributes, overwrite automatically alias copy *copy /hkz REM Remove completely a directory alias fullrd del /syeqxz >>& %INSTALL_LOG REM Remove a file alias fullrf del /yqze REM Retrieve a file from the old delivery and put it in the new one alias quick_move `iff "%2" == "" then & copy %ISE_EIFFEL\%1 %INSTALL_DIR\%1 >>& %INSTALL_LOG & else & copy %1 %ISE_EIFFEL\%2 %INSTALL_DIR\%2 >>& %INSTALL_LOG & endiff` REM Create a directory if it doesn't exist already alias safe_md `iff not isdir %1 then & iff exist %1 then & fullrf %1 & endiff & md %1 & endiff` REM Save current path into TMP_PATH alias save_path `set TMP_PATH=%@EXECSTR[cd]` REM Helpers for the script REM Give some info on what's happening, both in the log and on the screen alias remtrace `echo %$ & echo -------------------------------- >>& %INSTALL_LOG & echo %$ >>& %INSTALL_LOG` REM Give info concerning the elapsed time alias give_time_to `remtrace time used to %$: & remtrace %@TIMER[1] & TIMER ON /1 >> NUL` REM Clean exit alias cancel `echo Exiting... & set PATH=%OLD_PATH & cdd %INIT_DIR & set EIFFEL_SRC=%OLD_EIFFEL_SRC & iff defined TMP_ISE_EIFFEL then & set ISE_EIFFEL=%TMP_ISE_EIFFEL & set TMP_ISE_EIFFEL= & endiff & *cancel` REM CVS Commands: up, checkout, export alias up `call cvs -z 9 -q up -Pd %$ >>& %INSTALL_LOG` alias co `call cvs -z 9 -q co -P %$ >>& %INSTALL_LOG` alias exprt `call cvs -z 9 -q export %$ >>& %INSTALL_LOG` REM Tries to update or check out. %1: CVS path %2: local path alias safe_up `iff not isdir %2 then & ^ iff exist %2 then & fullrf %2 & endiff & ^ co -d %2 %1 & ^ else & ^ up %2 & ^ iff %? != 0 then & ^ echo Couldnt update %2... Checking out instead & ^ fullrd %2 & ^ co -d %2 %1 & ^ endiff & ^ endiff` REM C Compilation alias default_make `if exist make_msc.bat (save_path & call make_msc.bat >>& %INSTALL_LOG & cd %TMP_PATH)` alias all_makes `save_path & iff exist make_msc.bat then & call make_msc.bat >>& %INSTALL_LOG & endiff & iff exist make_bcb.bat then & cd %TMP_PATH & call make_bcb.bat >>& %INSTALL_LOG & endiff & cd %TMP_PATH` REM Eiffel Compilation REM Remove a project from the current directory, if any alias clean_project `iff exist EIFGEN .or. isdir EIFGEN then & fullrd EIFGEN & endiff &^ iff exist *.epr then & fullrf *.epr & endiff` REM Finish to freeze a finalized version alias fff `iff isdir EIFGEN\F_code then & cd EIFGEN\F_code & finish_freezing -silent >>& %INSTALL_LOG & cd ..\.. & endiff` REM Finish to freeze a workbench version alias wff `iff isdir EIFGEN\W_code then & cd EIFGEN\W_code & finish_freezing -silent >>& %INSTALL_LOG & cd ..\.. & endiff` REM Finalize at the Eiffel level only alias finalize `ec -finalize -ace %$ >>& %INSTALL_LOG` REM Melt at the Eiffel level only alias melt `ec -freeze -ace %$ >>& %INSTALL_LOG` REM Move up the generated finalized exe (its name is the parameter) and delete the compiled files alias cleanup_eiffel `iff exist EIFGEN\F_code\%1 then & move EIFGEN\F_code\%1 . & clean_project & endiff` REM Tests.... alias testpar `if %@INDEX[%$,no_compile] ge 0 echo true`