commit d1ee124c014ea2e84605c1a491e2ccefa36d8bad Author: Jocelyn Fiat Date: Sun May 13 14:05:22 2018 +0200 Import new deliv scripts for Windows. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1752e9d --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +# How to build a release + +## Requirements +- TCC/LE from https://jpsoft.com: [Download TCC/LE v14](https://jpsoft.com/downloads/v14/tccle.exe) +- And follow the [Guide Compiling EiffelStudio](https://dev.eiffel.com/Compiling_EiffelStudio) + - Microsoft C compiler: see [Installing Microsoft C compiler](https://dev.eiffel.com/Installing_Microsoft_C_compiler) + - Subversion client: see [Subversion Settings](https://dev.eiffel.com/Subversion_Settings) . + +## Archive release + +## Setup release + +## Files ... +-`check_environment.btm`: + Check if environment is well set: + - has ISE_EIFFEL, ISE_PLATFORM, INSTALL_LOG , INSTALL_DIR defined! + - has EIFFEL_SRC, FINALIZATION_DIR ... if NO_COMPILE is False. + - check for `tar` +-`compile_c_libraries.btm`: + Compile Clibs for com, cURL, net, obsolete\net, store, store odbc+mysql+oracle, vision2, web_browser, wel +-`compile_other_c_libraries.btm`: + Compile Clibs for sqlite3, beep example, C_library zlib+libpng +-`update_libraries.btm (dirname)`: + compile Clib files for libraries (com, cURL, encryption, net, web_browser, wel, vision2). + +-`make_assembly_manager.btm`: + copy dotnet wizards +-`make_build.btm`: + compile esbuilder +-`make_com_wizard.btm`: +-`make_delivery.btm`: +-`make_dotnet.btm`: +-`make_exes.btm`: +-`make_installations.btm`: +-`make_libraries.btm`: +-`make_other_libraries.btm`: +-`make_rb.btm`: +-`make_runtimes.btm`: +-`make_tools.btm`: +-`make_vision2_demo.btm`: +-`make_wizards.btm`: +-`set_aliases.btm`: + set environment variables and set aliases via `set_simple_aliases` + note: hardcoded path + - c:\work\tmpdev + - c:\work\17.05 + - c:\work\InstalledEiffel_17.05 + +-`set_simple_aliases.btm`: + set various aliases such as: + - copy, fullrd, fullrf, quick_move, safe_md, save_path, + - remtrace, give_time_to, cancel, + - co, exprt, exprtfile, + - default_make, specific_make, clean_project, + - finalize, melt, freeze, cleanup_dotnet_eiffel, cleanup_eiffel, + - testpar + +-`set_version.bat (SVN url, pattern to transform, ?file to process)`: + set version number in provided file, + or display version on output (if no pattern or file is provided) +-`svn_command.bat*`: + perform svn commands and retry in case of failure +-`test_examples.btm`: +-`test_precompile.btm`: + + +# USED DIRECTLY diff --git a/etc/config.btm b/etc/config.btm new file mode 100644 index 0000000..1508139 --- /dev/null +++ b/etc/config.btm @@ -0,0 +1,11 @@ +iff exist %~dp0local.btm then + call %~dp0local.btm +endiff + +iff not defined STUDIO_VERSION_MAJOR_MINOR then + set STUDIO_VERSION_MAJOR_MINOR=18.05 +endiff +iff not defined WORK_DIR then + set WORK_DIR=C:\work +endiff + diff --git a/etc/local.btm b/etc/local.btm new file mode 100644 index 0000000..78d35b5 --- /dev/null +++ b/etc/local.btm @@ -0,0 +1,18 @@ +iff not defined WORK_DIR then + set WORK_DIR=M:\work +endiff +iff not defined DEFAULT_PUBLIC_SVN then + set DEFAULT_PUBLIC_SVN=https://svn.eiffel.com/eiffelstudio/trunk + set DEFAULT_PUBLIC_SVN=file:///B:/ise/repos/mirrors/svn/eiffelstudio/trunk +endiff +iff not defined DEFAULT_ISE_SVN then + set DEFAULT_ISE_SVN=svn://jfiat@svn.ise:3691/ise_svn/trunk + set DEFAULT_ISE_SVN=file:///B:/ise/repos/mirrors/svn/ise/trunk +endiff +iff not defined PUBLIC_SVN_REVISION then + set PUBLIC_SVN_REVISION=HEAD +endiff +iff not defined ISE_C_COMPILER_VER then + set ISE_C_COMPILER_VER=WSDK71 + set ISE_C_COMPILER_VER=VC140 +endiff diff --git a/inc/check_environment.btm b/inc/check_environment.btm new file mode 100644 index 0000000..e0f68fc --- /dev/null +++ b/inc/check_environment.btm @@ -0,0 +1,40 @@ +iff not defined ISE_EIFFEL then + echo ISE_EIFFEL not defined. Cannot continue + CANCEL +endiff +iff not defined ISE_PLATFORM then + echo ISE_PLATFORM not defined. Cannot continue + CANCEL +endiff +iff not defined NO_COMPILE then + iff not defined EIFFEL_SRC then + echo EIFFEL_SRC not defined. Cannot continue + CANCEL + endiff + iff not defined FINALIZATION_DIR then + echo FINALIZATION_DIR not defined. Cannot continue + CANCEL + endiff + iff not exist %ISE_EIFFEL\gcc\%ISE_PLATFORM\mingw\bin\gcc.exe then + echo Cannot find a version of MinGW under ISE_EIFFEL. Cannot continue + CANCEL + endiff + iff not exist %ISE_EIFFEL\studio\spec\%ISE_PLATFORM\bin\ecb.exe then + endiff + iff isdir %EIFFEL_SRC then + echo Warning: %EIFFEL_SRC will be erased by the script! + endiff +endiff +rem An alternative to find a program is the following two lines +rem set MyProgramPresent=0 +rem for %%x in (program.exe) do if not [%%~$PATH:x]==[] set MyProgramPresent=1 +tar --version 2>NUL 1>NUL || (echo "Cannot find a version of tar. Cannot continue" && CANCEL) +iff not defined INSTALL_LOG then + echo Error: No file specified for the log + CANCEL +endiff +iff not defined INSTALL_DIR then + echo Error: No path specified for the generated delivery + CANCEL +endiff + diff --git a/inc/compile_c_libraries.btm b/inc/compile_c_libraries.btm new file mode 100644 index 0000000..68ad0d5 --- /dev/null +++ b/inc/compile_c_libraries.btm @@ -0,0 +1,69 @@ +@echo off + +call %INIT_DIR%\inc\set_simple_aliases.btm + +remtrace Compiling C code of libraries for C compiler %2 + +rem arg1 = Root of EiffelStudio installation +rem arg2 = Name of C compiler used + +iff not defined NO_COMPILE then + remtrace Retrieve the header files + remtrace - source: %DEFAULT_ISE_SVN/Src/library/headers.tar.gz + remtrace - target: %EIFFEL_SRC\headers\headers.tar.gz + cdd %EIFFEL_SRC + safe_md headers + REM "We keep a copy of vendors specific header files at EiffelSoftware as they cannot be" + REM "redistributed freely." + exprtfile %DEFAULT_ISE_SVN/Src/library/headers.tar.gz > headers\headers.tar.gz + cd headers + tar xvfz headers.tar.gz + iff not isdir apps then + remtrace Could not retrieve the header files. + endiff + set JDK_HOME=%EIFFEL_SRC\headers\apps\jdk1.1.8 + set ORACLE_HOME=%EIFFEL_SRC\headers\apps\oracle + + cdd %1 + remtrace Compile the C code, and remove extra clib's + iff isdir %1\library\com then + remtrace com + cd %1\library\com\Clib + specific_make %2 + cd %1\library\com\Clib_runtime + specific_make %2 + cd %1\library\com + endiff + remtrace cURL + cd %1\library\cURL\Clib + specific_make %2 + remtrace net + cd %1\library\net\Clib + specific_make %2 + remtrace store + cd %1\library\store\dbms\rdbms\odbc\clib + specific_make %2 + cd %1\library\store\dbms\rdbms\mysql\clib + specific_make %2 + cd %1\library\store\dbms\rdbms\oracle\clib + specific_make %2 + remtrace vision2 + cd %1\library\vision2\Clib + specific_make %2 + remtrace web_browser + cd %1\library\web_browser\Clib + specific_make %2 + remtrace wel + cd %1\library\wel\clib + specific_make %2 + fullrf %1\library\wel\clib\make.log +else + cdd %1 + quick_move /s library\com\spec + fullrd %1\library\com\Clib + fullrd %1\library\com\Clib_runtime + quick_move /s library\net\spec + quick_move /s library\store\spec + quick_move /s library\vision2\spec + quick_move /s library\wel\spec +endiff diff --git a/inc/compile_other_c_libraries.btm b/inc/compile_other_c_libraries.btm new file mode 100644 index 0000000..dd83eeb --- /dev/null +++ b/inc/compile_other_c_libraries.btm @@ -0,0 +1,28 @@ +@echo off + +call %INIT_DIR%\inc\set_simple_aliases.btm + +remtrace Compiling C code of other libraries for C compiler %2 + +rem arg1 = Root of EiffelStudio installation +rem arg2 = Name of C compiler used + +iff not defined NO_COMPILE then + cdd %1 + + remtrace SQLite3 + cdd %1\unstable\library\persistency\database\sqlite3\Clib + specific_make %2 + fullrf %1\unstable\library\persistency\database\sqlite3\Clib\make.log + + remtrace Compile examples + iff exist %1\examples\base\beep\Clib then + cd %1\examples\base\beep\Clib + specific_make %2 + endiff + + cd %1\C_library\zlib + specific_make %2 + cd %1\C_library\libpng + specific_make %2 +endiff diff --git a/inc/display_environment.btm b/inc/display_environment.btm new file mode 100644 index 0000000..b33a9b4 --- /dev/null +++ b/inc/display_environment.btm @@ -0,0 +1,38 @@ +echo Current configuration: +echo ---------------------- +echo INIT_DIR=%INIT_DIR (script root directory) +echo ISE_EIFFEL=%ISE_EIFFEL +echo ISE_PLATFORM=%ISE_PLATFORM +echo INSTALL_DIR=%INSTALL_DIR +echo STUDIO_DIR=%STUDIO_DIR +echo Log file location: %INSTALL_LOG +echo The private ISE svn repository: %DEFAULT_ISE_SVN +echo The public svn repository: %DEFAULT_PUBLIC_SVN +echo The revision that will be generated: %PUBLIC_SVN_REVISION +echo ecb version: +ecb -version +echo ----------------------------- +iff exist %INSTALL_DIR .or. isdir %INSTALL_DIR then + echo Warning: %INSTALL_DIR will be replaced by the installation script, you will lose everything in it +endiff + +iff defined NO_COMPILE then + echo No compilation will be performed (including EiffelStudio's compilation) +endiff +iff defined NO_NEW_EC then + echo No new version of EiffelStudio will be compiled +endiff +iff defined BUILD_ENTERPRISE_ONLY then + echo Only EiffelStudio Enterprise will be build +endiff +iff defined NO_WIZARDS then + echo No wizards will be compiled. +endiff +iff defined NO_INSTALL then + echo The delivery will be generated, but not the final installation executable +endiff + + +iff not defined NO_INSTALL .and. not defined NO_COMPILE then + echo All components will be recompiled +endiff diff --git a/inc/get_environment_confirmation.btm b/inc/get_environment_confirmation.btm new file mode 100644 index 0000000..5e14b7d --- /dev/null +++ b/inc/get_environment_confirmation.btm @@ -0,0 +1,12 @@ +echo You have 60s to cancel this build +choice /T 60 /C cyn /N /D y /M "Press [C] to cancel, Press [Y] to continue now, or wait 60s ..." +if %ERRORLEVEL% == 2 goto CONTINUE +goto ABORT + +:ABORT +echo Operation cancelled! +CANCEL +goto eof + +:CONTINUE +goto eof diff --git a/inc/make_assembly_manager.btm b/inc/make_assembly_manager.btm new file mode 100644 index 0000000..183aa45 --- /dev/null +++ b/inc/make_assembly_manager.btm @@ -0,0 +1,3 @@ +remtrace Do not know how to generate the assembly manager :( +quick_move wizards\dotnet\*.* + diff --git a/inc/make_com_wizard.btm b/inc/make_com_wizard.btm new file mode 100644 index 0000000..aef3e68 --- /dev/null +++ b/inc/make_com_wizard.btm @@ -0,0 +1,26 @@ +mkdir %STUDIO_DIR\wizards\com\resources +copy %EIFFEL_SRC\tools\com_wizard\root\resources\*.* %STUDIO_DIR\wizards\com\resources + +remtrace Compile the COM wizard +cdd %EIFFEL_SRC\tools\com_wizard\root +set_version %EIFFEL_SRC 0000 argument_parser.e + +clean_project +finalize com_wizard.ecf +cleanup_eiffel com_wizard com_wizard.exe +iff not exist com_wizard.exe then + echo "Couldnt generate the COM wizard" + CANCEL +endiff +move com_wizard.exe %STUDIO_DIR\wizards\com +clean_project + +remtrace Compile COM wizard launcher for GUI mode. +cdd %EIFFEL_SRC\tools\com_wizard\launcher +finalize com_wizard_launcher.ecf +cleanup_eiffel com_wizard_launcher com_wizard_launcher.exe +iff not exist com_wizard_launcher.exe then + echo "Couldnt compile com_wizard_launcher.exe" + CANCEL +endiff +move com_wizard_launcher.exe %STUDIO_DIR\wizards\com diff --git a/inc/make_dotnet.btm b/inc/make_dotnet.btm new file mode 100644 index 0000000..49112a3 --- /dev/null +++ b/inc/make_dotnet.btm @@ -0,0 +1,35 @@ +remtrace Compiling .NET components +REM Should be called by `make_exes.btm' +cdd %EIFFEL_SRC + +remtrace Compiling .NET runtime +cd %EIFFEL_SRC\Eiffel\eiffel\com_il_generation\core\run-time +espawn -u:%ISE_C_COMPILER_VER% "%COMSPEC% /c nmake msbuild_20" +copy EiffelSoftware.Runtime.dll %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib +copy EiffelSoftware.Runtime.dll %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin +copy EiffelSoftware.Runtime.dll %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + +remtrace Compiling Eiffel Assembly Cache +cdd %EIFFEL_SRC\dotnet\consumer +finalize consumer.ecf consumer_20 +cleanup_dotnet_eiffel consumer_20 EiffelSoftware.MetadataConsumer.dll +iff not exist libEiffelSoftware.MetadataConsumer.dll then + remtrace Could not compile EiffelSoftware.MetadataConsumer.dll + CANCEL +endiff +copy EiffelSoftware.MetadataConsumer.dll %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin +copy libEiffelSoftware.MetadataConsumer.dll %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin + +remtrace Compiling Eiffel Metadata Cosumer Executable +cdd %EIFFEL_SRC\dotnet\consumer +finalize consumer.ecf emdc +cleanup_dotnet_eiffel emdc emdc.exe +iff not exist libemdc.dll then + remtrace Could not compile emdc.exe + CANCEL +endiff +copy emdc.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin +copy libemdc.dll %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + + +cdd %EIFFEL_SRC diff --git a/inc/make_esbuilder.btm b/inc/make_esbuilder.btm new file mode 100644 index 0000000..7af2c67 --- /dev/null +++ b/inc/make_esbuilder.btm @@ -0,0 +1,16 @@ +remtrace Compiling EiffelBuild +REM Should be called by `make_exes.btm' +cdd %EIFFEL_SRC +cdd %EIFFEL_SRC\build\Constants +set_version %EIFFEL_SRC 0000 gb_about_dialog_constants.e + +cdd %EIFFEL_SRC/build +clean_project +finalize esbuilder.ecf +cleanup_eiffel esbuilder esbuilder.exe +iff not exist esbuilder.exe then + remtrace Could not finalize a new EiffelBuild + CANCEL +else + move esbuilder.exe %STUDIO_DIR\esbuilder\spec\%ISE_PLATFORM\bin\ +endiff diff --git a/inc/make_exes.btm b/inc/make_exes.btm new file mode 100644 index 0000000..7faedcb --- /dev/null +++ b/inc/make_exes.btm @@ -0,0 +1,365 @@ +remtrace Compile C code of the libraries +remtrace "A tout seigneur tout honneur", let's start with the run-time +md %INSTALL_DIR\releases +md %INSTALL_DIR\releases\enterprise_version +md %INSTALL_DIR\releases\gpl_version + +remtrace Compile the run-times +iff not defined WIN64 then + remtrace Compile a run-time for MinGW + cdd %EIFFEL_SRC\C + call configure clean >>& %INSTALL_LOG + call configure win32 g >>& %INSTALL_LOG + cd %EIFFEL_SRC + copy C\run-time\LIB\*.a %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\mingw + + remtrace Compile a dynamic run-time for MinGW + cdd %EIFFEL_SRC\C + call configure clean >>& %INSTALL_LOG + call configure win32 g dll >>& %INSTALL_LOG + cd %EIFFEL_SRC + copy C\run-time\LIB\*dll* %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\mingw +else + remtrace Compile a run-time for MinGW + cdd %EIFFEL_SRC\C + call configure clean >>& %INSTALL_LOG + call configure win64 g >>& %INSTALL_LOG + cd %EIFFEL_SRC + copy C\run-time\LIB\*.a %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\mingw + + remtrace Compile a dynamic run-time for MinGW + cdd %EIFFEL_SRC\C + call configure clean >>& %INSTALL_LOG + call configure win64 g dll >>& %INSTALL_LOG + cd %EIFFEL_SRC + copy C\run-time\LIB\*dll* %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\mingw +endiff + +remtrace Copy the configuration file +iff not defined WIN64 then + copy %EIFFEL_SRC\C\CONFIGS\windows-x86-mingw %STUDIO_DIR\studio\config\%ISE_PLATFORM\mingw\config.sh +else + copy %EIFFEL_SRC\C\CONFIGS\windows-x86-64-mingw %STUDIO_DIR\studio\config\%ISE_PLATFORM\mingw\config.sh +endiff + +remtrace Compile the run-time for Microsoft +espawn -u:VC140 "%COMSPEC% /c %INIT_DIR%\inc\make_runtimes.btm msc_vc140" +iff defined %ISE_C_COMPILER_VER% then + espawn -u:%ISE_C_COMPILER_VER% "%COMSPEC% /c %INIT_DIR%\inc\make_runtimes.btm msc" +else + echo MISSING ISE_C_COMPILER_VER !!! +endiff + +remtrace Copy the header files +copy %EIFFEL_SRC\C\run-time\*.h %STUDIO_DIR\studio\spec\%ISE_PLATFORM\include +copy %EIFFEL_SRC\C\run-time\eif_stack.decl %STUDIO_DIR\studio\spec\%ISE_PLATFORM\include +copy %EIFFEL_SRC\C\run-time\eif_stack.interface %STUDIO_DIR\studio\spec\%ISE_PLATFORM\include +cd %EIFFEL_SRC + +remtrace Copy the MSYS part +copy %EIFFEL_SRC\C\shell\bin\rt_converter.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin\ +copy %EIFFEL_SRC\C\shell\bin\sed.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin\ +copy %EIFFEL_SRC\C\shell\bin\mkdir.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin\ +copy %EIFFEL_SRC\C\shell\bin\*.dll %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin\ +safe_md %STUDIO_DIR\studio\spec\%ISE_PLATFORM\etc +echo Dummy >> %STUDIO_DIR\studio\spec\%ISE_PLATFORM\etc\dummy.txt + +remtrace Then the C libraries +cd %EIFFEL_SRC\C_library +fullrd .libs + +remtrace libpng +cd %EIFFEL_SRC\C_library\libpng +default_make +remtrace zlib +cd %EIFFEL_SRC\C_library\zlib +default_make + +REM These directories should already have been created by make_delivery. Whatever... +safe_md %STUDIO_DIR\studio\spec +safe_md %STUDIO_DIR\studio\spec\%ISE_PLATFORM +safe_md %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin + +remtrace CLI writer +cd %EIFFEL_SRC\framework\cli_writer\Clib +default_make + +remtrace CLI debugger +cd %EIFFEL_SRC\framework\cli_debugger\Clib +default_make + +REM Compiling EiffelStudio stuff +iff defined BUILD_ENTERPRISE_ONLY then + remtrace Recompile EiffelStudio + cdd %FINALIZATION_DIR + copy %EIFFEL_SRC\Eiffel\Ace\*.* . + copy %EIFFEL_SRC\tools\estudio_enterprise\ec.ecf ec.ecf + iff not exist ec.ecf then + remtrace Cannot find the finalization Ace for EiffelStudio + CANCEL + endiff + + remtrace Enterprise edition + cdd %EIFFEL_SRC\Eiffel\API\constants + set_version %EIFFEL_SRC 0000 system_constants.e + sed -e "s/Version_type_name:\ STRING\ =\ \"GPL\ Edition\"/Version_type_name:\ STRING\ =\ \"Enterprise\ Edition\"/g" system_constants.e >> new_system_constants.e + move new_system_constants.e system_constants.e + cdd %FINALIZATION_DIR + + clean_project + finalize ec.ecf bench + cleanup_eiffel bench ec.exe + iff not exist ec.exe then + remtrace Could not finalize a new "enterprise_version" EiffelStudio + CANCEL + endiff + move ec.exe %INSTALL_DIR\releases\enterprise_version + + clean_project + finalize ec.ecf batch + cleanup_eiffel batch ecb.exe + iff not exist ecb.exe then + remtrace Could not finalize a new batch version of the compiler + CANCEL + endiff + move ecb.exe %INSTALL_DIR\releases\enterprise_version + + exprtfile -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/scripts/licensing/eiffelstudio/enterprise.txt > %INSTALL_DIR\releases\enterprise_version\LICENSE +else + iff not defined NO_NEW_EC then + remtrace GPL edition + cdd %EIFFEL_SRC\Eiffel\API\constants + set_version %EIFFEL_SRC 0000 system_constants.e + cdd %FINALIZATION_DIR + copy %EIFFEL_SRC\Eiffel\Ace\*.* . + clean_project + finalize ec.ecf bench + cleanup_eiffel bench ec.exe + iff not exist ec.exe then + remtrace Could not finalize a new "gpl_edition" EiffelStudio + CANCEL + endiff + move ec.exe %INSTALL_DIR\releases\gpl_version + + clean_project + finalize ec.ecf batch + cleanup_eiffel batch ecb.exe + iff not exist ecb.exe then + remtrace Could not finalize a new batch version of the compiler + CANCEL + endiff + move ecb.exe %INSTALL_DIR\releases\gpl_version + + exprtfile -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/scripts/licensing/eiffelstudio/gpl.txt > %INSTALL_DIR\releases\gpl_version\LICENSE + + remtrace Enterprise edition for EiffelStudio + cdd %EIFFEL_SRC\Eiffel\API\constants + sed -e "s/Version_type_name:\ STRING\ =\ \"GPL\ Edition\"/Version_type_name:\ STRING\ =\ \"Enterprise\ Edition\"/g" system_constants.e >> new_system_constants.e + move new_system_constants.e system_constants.e + cdd %FINALIZATION_DIR + clean_project + copy %EIFFEL_SRC\tools\estudio_enterprise\ec.ecf ec.ecf + finalize ec.ecf bench + cleanup_eiffel bench ec.exe + iff not exist ec.exe then + remtrace Could not finalize a new "enterprise_version" EiffelStudio + CANCEL + endiff + move ec.exe %INSTALL_DIR\releases\enterprise_version + + clean_project + finalize ec.ecf batch + cleanup_eiffel batch ecb.exe + iff not exist ecb.exe then + remtrace Could not finalize a new batch version of the compiler + CANCEL + endiff + move ecb.exe %INSTALL_DIR\releases\enterprise_version + + exprtfile -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/scripts/licensing/eiffelstudio/gpl.txt > %INSTALL_DIR\releases\enterprise_version\LICENSE + endiff +endiff + +remtrace Recompile finish_freezing +cdd %EIFFEL_SRC\tools\finish_freezing +cd Clib +default_make +cd .. +clean_project +finalize finish_freezing.ecf finish_freezing +cleanup_eiffel finish_freezing finish_freezing.exe +iff not exist finish_freezing.exe then + remtrace Could not finalize a new finish_freezing + CANCEL +endiff +move finish_freezing.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin + +remtrace Recompile emake +cdd %EIFFEL_SRC\tools\eiffel_make +clean_project +finalize emake.ecf +cleanup_eiffel emake emake.exe +iff not exist emake.exe then + remtrace Could not finalize a new emake + CANCEL +endiff +move emake.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin + +remtrace Recompile quick_finalize +cdd %EIFFEL_SRC\tools\quick_finalize +clean_project +finalize quick_finalize.ecf +cleanup_eiffel quick_finalize quick_finalize.exe +iff not exist quick_finalize.exe then + remtrace Could not finalize a new quick_finalize + CANCEL +endiff +move quick_finalize.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin + +remtrace Put ecdbgd.exe in the new delivery +REM It should already have been compiled by the configure of the run-time. +cdd %EIFFEL_SRC\C\ipc\daemon +iff not exist ecdbgd.exe then + remtrace Could not finalize a new ecdbgd + CANCEL +endiff +move ecdbgd.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin + +remtrace Put x2c.exe in the new delivery +REM It should already have been compiled by the configure of the run-time. +cdd %EIFFEL_SRC\C\run-time +iff not exist x2c.exe then + remtrace Could not finalize a new x2c + CANCEL +endiff +move x2c.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin + +remtrace Recompile h2e +cdd %EIFFEL_SRC\library\wel\extra +clean_project +finalize h2e.ecf +cleanup_eiffel h2e h2e.exe +iff not exist h2e.exe then + remtrace Could not finalize a new h2e + CANCEL +endiff +move h2e.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin + + +remtrace Recompile estudio.exe +cdd %EIFFEL_SRC\tools\estudio\config +clean_project +finalize estudio.ecf estudio +cleanup_eiffel estudio estudio.exe +iff not exist estudio.exe then + remtrace Could not finalize a new estudio + CANCEL +endiff +move estudio.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin + +remtrace get GDI+ for platforms that don't have it +cdd %EIFFEL_SRC\tools +co %DEFAULT_ISE_SVN/Src/tools/gdiplus gdiplus +move gdiplus\gdiplus.dll %INSTALL_DIR\releases + +remtrace Recompiling EiffelBuild +cdd %INIT_DIR +call inc\make_esbuilder.btm + +remtrace Recompiling Vision2 tour +cdd %INIT_DIR +call inc\make_vision2_demo.btm + +remtrace Recompile Legacy++ +cdd %EIFFEL_SRC\tools\legacy\PCCTS +safe_md bin +espawn -u:%ISE_C_COMPILER_VER% "%COMSPEC% /c nmake -f makefile.win" +cd .. +cd legacy +espawn -u:%ISE_C_COMPILER_VER% "%COMSPEC% /c nmake -f makefile.win" +iff not exist legacy.exe then + remtrace Couldnt generate legacy.exe + CANCEL +endiff +move legacy.exe %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin + +remtrace Getting eweasel source code +safe_md %EIFFEL_SRC\eweasel +co -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/eweasel/source %EIFFEL_SRC\eweasel\source +remtrace Compiling eweasel +safe_md %STUDIO_DIR\eweasel +safe_md %STUDIO_DIR\eweasel\spec +safe_md %STUDIO_DIR\eweasel\spec\%ISE_PLATFORM +safe_md %STUDIO_DIR\eweasel\spec\%ISE_PLATFORM\bin +cdd %EIFFEL_SRC\eweasel\source +clean_project +set OLD_EWEASEL=%EWEASEL +set EWEASEL=%EIFFEL_SRC\eweasel +finalize eweasel.ecf eweasel_st +cleanup_eiffel eweasel_st eweasel.exe +move eweasel.exe %STUDIO_DIR\eweasel\spec\%ISE_PLATFORM\bin +finalize eweasel.ecf eweasel_mt +cleanup_eiffel eweasel_mt eweasel-mt.exe +move eweasel-mt.exe %STUDIO_DIR\eweasel\spec\%ISE_PLATFORM\bin +set EWEASEL=%OLD_EWEASEL +set OLD_EWEASEL= + +remtrace Compiling Eiffel Software tools +cdd %INIT_DIR +call inc\make_tools.btm + +remtrace Compiling Gobo tools +safe_md %STUDIO_DIR\library\gobo\spec +safe_md %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM +safe_md %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM\bin +cdd %EIFFEL_SRC\library\gobo\src +clean_project +remtrace geant +finalize geant.ecf geant +cleanup_eiffel geant geant.exe +move geant.exe %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM\bin + +remtrace gec +finalize gec.ecf gec +cleanup_eiffel gec gec.exe +move gec.exe %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM\bin + +remtrace gelex +finalize gelex.ecf gelex +cleanup_eiffel gelex gelex.exe +move gelex.exe %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM\bin + +remtrace gelint +finalize gelint.ecf gelint +cleanup_eiffel gelint gelint.exe +move gelint.exe %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM\bin + +remtrace gepp +finalize gepp.ecf gepp +cleanup_eiffel gepp gepp.exe +move gepp.exe %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM\bin + +remtrace getest +finalize getest.ecf getest +cleanup_eiffel getest getest.exe +move getest.exe %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM\bin + +remtrace gexace +finalize gexace.ecf gexace +cleanup_eiffel gexace gexace.exe +move gexace.exe %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM\bin + +remtrace gexslt +finalize gexslt.ecf gexslt +cleanup_eiffel gexslt gexslt.exe +move gexslt.exe %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM\bin + +remtrace geyacc +finalize geyacc.ecf geyacc +cleanup_eiffel geyacc geyacc.exe +move geyacc.exe %STUDIO_DIR\library\gobo\spec\%ISE_PLATFORM\bin + +remtrace Compiling .NET components +cdd %INIT_DIR +call inc\make_dotnet.btm +cdd %EIFFEL_SRC diff --git a/inc/make_libraries.btm b/inc/make_libraries.btm new file mode 100644 index 0000000..4201bca --- /dev/null +++ b/inc/make_libraries.btm @@ -0,0 +1,81 @@ +remtrace Retrieve libraries +cdd %1 +md library +cd library +remtrace api_wrapper +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/api_wrapper api_wrapper +remtrace argument_parser +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/argument_parser argument_parser +remtrace base +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/base base +remtrace base_extension +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/base_extension base_extension +remtrace cocoa +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/cocoa cocoa +remtrace com +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/com com +remtrace cURL +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/cURL cURL +remtrace diff +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/diff diff +remtrace docking +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/docking docking +remtrace Eiffel2Java +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/Eiffel2Java Eiffel2Java +remtrace editor +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/editor editor +remtrace encoding +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/encoding encoding +remtrace event +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/event event +remtrace gobo +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/gobo gobo +fullrd gobo\svn\work +remtrace gobo_extension +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/gobo_extension gobo_extension +remtrace graph +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/graph graph +remtrace i18n +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/i18n i18n +remtrace lex +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/lex lex +remtrace memory_analyzer +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/memory_analyzer memory_analyzer +remtrace net +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/net net +remtrace objc_base +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/objc_base objc_base +remtrace parse +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/parse parse +remtrace patterns +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/patterns patterns +remtrace preferences +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/preferences preferences +remtrace process +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/process process +remtrace ribbon +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/ribbon ribbon +remtrace runtime +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/runtime runtime +remtrace store +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/store store +remtrace testing +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/testing testing +remtrace text +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/text text +remtrace thread +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/thread thread +remtrace time +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/time time +remtrace uuid +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/uuid uuid +remtrace vision2 +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/vision2 vision2 +remtrace vision2_extension +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/vision2_extension vision2_extension +remtrace web +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/web web +remtrace web_browser +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/web_browser web_browser +remtrace wel +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/%2/wel wel diff --git a/inc/make_other_libraries.btm b/inc/make_other_libraries.btm new file mode 100644 index 0000000..65527c9 --- /dev/null +++ b/inc/make_other_libraries.btm @@ -0,0 +1,25 @@ +remtrace Retrieve unstable libraries +cdd %1 +md unstable +cd unstable + +remtrace README.txt +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/unstable/README.txt README.txt + +remtrace library +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/unstable/library library + +remtrace Retrieve contrib libraries and examples +cdd %1 +md contrib +cd contrib + +remtrace README.txt +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/contrib/README.txt README.txt + +remtrace library +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/contrib/library library + +remtrace examples +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/contrib/examples examples + diff --git a/inc/make_rb.btm b/inc/make_rb.btm new file mode 100644 index 0000000..a31eff4 --- /dev/null +++ b/inc/make_rb.btm @@ -0,0 +1,18 @@ +remtrace Update the source files +REM cdd %EIFFEL_SRC +REM co -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/tools/resource_bench resource_bench + +remtrace Recompile Resource Bench +REM cdd %EIFFEL_SRC\tools\resource_bench +REM clean_project +REM finalize rb.ecf +REM cleanup_eiffel rb rb.exe +REM if not exist rb.exe (remtrace Couldnt generate rb.exe & cancel) +REM move rb.exe %STUDIO_DIR\rb\bin +cdd %STUDIO_DIR\rb +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/tools/resource_bench/bin bin + +remtrace Retrieve the example +cdd %STUDIO_DIR\rb +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/tools/resource_bench/RB_documentation/examples example + diff --git a/inc/make_runtimes.btm b/inc/make_runtimes.btm new file mode 100644 index 0000000..b7b9b20 --- /dev/null +++ b/inc/make_runtimes.btm @@ -0,0 +1,48 @@ +@echo off + +call %INIT_DIR%\inc\set_simple_aliases.btm + +remtrace Compile the runtime for C compiler %1 + +cd %EIFFEL_SRC\C +call configure clean >>& %INSTALL_LOG +iff defined WIN64 then + call configure win64 m dll >>& %INSTALL_LOG +else + iff defined MSC6 then + call configure win32 m6 dll >>& %INSTALL_LOG + else + call configure win32 m dll >>& %INSTALL_LOG + endiff +endiff +cd %EIFFEL_SRC +fullrf C\run-time\LIB\*.exp +copy C\run-time\LIB\*dll* %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\%1 +cd %EIFFEL_SRC + +remtrace Compile a run-time for Microsoft +cd %EIFFEL_SRC\C +call configure clean >>& %INSTALL_LOG +iff defined WIN64 then + call configure win64 m >>& %INSTALL_LOG +else + iff defined MSC6 then + call configure win32 m6 >>& %INSTALL_LOG + else + call configure win32 m >>& %INSTALL_LOG + endiff +endiff +cd %EIFFEL_SRC + +copy C\run-time\LIB\*.lib %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\%1 +iff not defined WIN64 then + copy C\desc\ise_desc.dll %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\%1 + copy C\desc\ise_desc.lib %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\%1 +endiff + +remtrace Copy the configuration file +iff not defined WIN64 then + copy %EIFFEL_SRC\C\CONFIGS\windows-x86-msc %STUDIO_DIR\studio\config\%ISE_PLATFORM\%1\config.sh +else + copy %EIFFEL_SRC\C\CONFIGS\windows-x86-64-msc %STUDIO_DIR\studio\config\%ISE_PLATFORM\%1\config.sh +endiff diff --git a/inc/make_tools.btm b/inc/make_tools.btm new file mode 100644 index 0000000..67ac02d --- /dev/null +++ b/inc/make_tools.btm @@ -0,0 +1,126 @@ +remtrace Should be called by make_exes.btm + +remtrace Create tools directory for your platform. +safe_md %STUDIO_DIR\tools +safe_md %STUDIO_DIR\tools\spec +safe_md %STUDIO_DIR\tools\spec\%ISE_PLATFORM +safe_md %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + +remtrace Recompile iron +cdd %EIFFEL_SRC\tools\iron\client +clean_project +finalize client.ecf es_iron +cleanup_eiffel es_iron iron.exe +iff not exist iron.exe then + remtrace Could not finalize a new iron + CANCEL +endiff +move iron.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin +copy %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin\libcurl.dll %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\ +copy %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin\libeay32.dll %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\ +copy %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin\ssleay32.dll %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\ + +remtrace Recompile syntax_updater +cdd %EIFFEL_SRC\tools\syntax_updater +clean_project +finalize syntax_updater.ecf +cleanup_eiffel syntax_updater syntax_updater.exe +iff not exist syntax_updater.exe then + remtrace Could not finalize a new syntax_updater + CANCEL +endiff +move syntax_updater.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + +remtrace Recompile espawn +cdd %EIFFEL_SRC\tools\espawn +clean_project +finalize espawn.ecf +cleanup_eiffel espawn espawn.exe +iff not exist espawn.exe then + remtrace Could not finalize a new espawn + CANCEL +endiff +move espawn.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + +remtrace Recompile compile_all +cdd %EIFFEL_SRC\tools\compile_all +clean_project +finalize compile_all.ecf +cleanup_eiffel compile_all compile_all.exe +iff not exist compile_all.exe then + remtrace Could not finalize a new compile_all + CANCEL +endiff +move compile_all.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + +remtrace Recompile eiffel tool +cdd %EIFFEL_SRC\tools\eiffel_script +clean_project +finalize eiffel_script.ecf +cleanup_eiffel eiffel_script eiffel.exe +iff not exist eiffel.exe then + remtrace Could not finalize a new eiffel tool + CANCEL +endiff +move eiffel.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + +remtrace Recompile eiffel_image_embedder +cdd %EIFFEL_SRC\tools\eiffel_image_embedder +clean_project +finalize eimgemb.ecf +cleanup_eiffel eiffel_image_embedder eimgemb.exe +iff not exist eimgemb.exe then + remtrace Could not finalize a new eiffel_image_embedder + CANCEL +endiff +move eimgemb.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + +remtrace Recompile eiffel_echo +cdd %EIFFEL_SRC\tools\eiffel_echo +clean_project +finalize eiffel_echo.ecf +cleanup_eiffel eiffel_echo eiffel_echo.exe +iff not exist eiffel_echo.exe then + remtrace Could not finalize a new eiffel_echo + CANCEL +endiff +move eiffel_echo.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + +remtrace Recompile po_generation_tool +cdd %EIFFEL_SRC\tools\po_generation_tool +clean_project +finalize po_generation_tool.ecf +cleanup_eiffel po_generation_tool po_generation_tool.exe +iff not exist po_generation_tool.exe then + remtrace Could not finalize a new po_generation_tool + CANCEL +endiff +move po_generation_tool.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + +remtrace Recompile eiffel_ribbon +safe_md %STUDIO_DIR\tools\ribbon +cdd %STUDIO_DIR\tools\ribbon +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/tools/eiffel_ribbon/template template +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/tools/eiffel_ribbon/images images +cdd %EIFFEL_SRC\tools\eiffel_ribbon +clean_project +finalize eiffel_ribbon.ecf +cleanup_eiffel eiffel_ribbon eiffel_ribbon.exe +iff not exist eiffel_ribbon.exe then + remtrace Could not finalize a new eiffel_ribbon + CANCEL +endiff +move eiffel_ribbon.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + +remtrace Recompile ace2ecf +cdd %EIFFEL_SRC\tools\ace2ecf +clean_project +finalize ace2ecf.ecf +cleanup_eiffel ace2ecf ace2ecf.exe +iff not exist ace2ecf.exe then + remtrace Could not finalize a new ace2ecf + CANCEL +endiff +move ace2ecf.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin + + diff --git a/inc/make_vision2_demo.btm b/inc/make_vision2_demo.btm new file mode 100644 index 0000000..46e719a --- /dev/null +++ b/inc/make_vision2_demo.btm @@ -0,0 +1,26 @@ +remtrace Compiling Vision2_Demo +REM Should be called by `make_exes.btm' +cdd %EIFFEL_SRC +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/examples/vision2/widget_test vision2_demo + +REM Must now call batch files here, to generate the flatshorts and also retrieve the +REM build files needed by the test + +cdd %EIFFEL_SRC\vision2_demo + +call retrieve_build_files.bat -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN >>& %INSTALL_LOG +call retrieve_flat_short.bat >>& %INSTALL_LOG + +cdd %EIFFEL_SRC\vision2_demo +clean_project +finalize vision2_demo.ecf +cleanup_eiffel vision2_demo vision2_demo.exe +iff not exist vision2_demo.exe then + remtrace Could not finalize a new vision2_demo + CANCEL +endiff +move vision2_demo.exe %STUDIO_DIR\vision2_demo\spec\%ISE_PLATFORM\bin + +move /s %EIFFEL_SRC\vision2_demo\tests %STUDIO_DIR\vision2_demo\tests +move /s %EIFFEL_SRC\vision2_demo\flatshort %STUDIO_DIR\vision2_demo\flatshort +move %EIFFEL_SRC\vision2_demo\bitmaps\png\*.png %STUDIO_DIR\vision2_demo\bitmaps\png diff --git a/inc/make_wizards.btm b/inc/make_wizards.btm new file mode 100644 index 0000000..f457d94 --- /dev/null +++ b/inc/make_wizards.btm @@ -0,0 +1,4 @@ +cdd %EIFFEL_SRC\help\wizards +set DELIVERY=%STUDIO_DIR +remtrace Launch the actual wizard compilation +call make_wizards.btm diff --git a/inc/set_aliases.btm b/inc/set_aliases.btm new file mode 100644 index 0000000..784cfb5 --- /dev/null +++ b/inc/set_aliases.btm @@ -0,0 +1,66 @@ +REM Define some user parameters here if not yet defined. + +iff defined _SET_ALIAS_SET_ then + remtrace Script set_alias.btm was already called. + goto :eof +endiff + +set _SET_ALIAS_SET_=1 + +REM Setup environment +REM ================= + +iff exist %~dp0..\etc\config.btm then + call %~dp0..\etc\config.btm +else + echo ERROR missing file %~dp0..\etc\config.btm + set _SET_ALIAS_SET_=0 + CANCEL +endiff + +set DELIV_DIR=%WORK_DIR%\%STUDIO_VERSION_MAJOR_MINOR%_deliv + +REM The file where all output is stored + +set INSTALL_LOG=%DELIV_DIR\install.log +REM NB: The following directory is where a new version of ec.exe will be finalized. +set FINALIZATION_DIR=%DELIV_DIR +REM Tag to export files from public SVN repository +iff not defined DEFAULT_PUBLIC_SVN then + set DEFAULT_PUBLIC_SVN=https://svn.eiffel.com/eiffelstudio/trunk +endiff +REM Tag to export files in SVN at ISE +iff not defined DEFAULT_ISE_SVN then + set DEFAULT_ISE_SVN=svn://%USERNAME%@svn.ise/ise_svn/trunk +endiff + +REM NB: The following directory will be erased! +set TMP_EIFFEL_SRC=%WORK_DIR%\tmpdev + +iff not defined PUBLIC_SVN_REVISION then + set PUBLIC_SVN_REVISION=HEAD +endiff + +REM Where the new delivery is set up. Warning: if it exists, the directory will be erased! +REM +set STUDIO_NAME=Eiffel_%STUDIO_VERSION_MAJOR_MINOR + +iff "%ISE_PLATFORM%" == "win64" then +set INSTALL_DIR=%WORK_DIR%\Installed%STUDIO_NAME% +else +set INSTALL_DIR=%WORK_DIR%\Installed%STUDIO_NAME%_32 +endiff + +set STUDIO_DIR=%INSTALL_DIR\EiffelStudio + +REM Check for Windows 64 bits. +iff "%ISE_PLATFORM%" == "win64" then + set WIN64=true +endiff + +REM Uncomment to set old ORIGO names. +REM set DEFAULT_ORIGO_SVN=%DEFAULT_PUBLIC_SVN +REM set ORIGO_SVN_REVISION=%PUBLIC_SVN_REVISION + +REM OK The rest is private, no need for you to see it :) +call %INIT_DIR%\inc\set_simple_aliases.btm diff --git a/inc/set_has_c_compiler.btm b/inc/set_has_c_compiler.btm new file mode 100644 index 0000000..30fc278 --- /dev/null +++ b/inc/set_has_c_compiler.btm @@ -0,0 +1,3 @@ +espawn --list > %INSTALL_LOG%.tmp.c_compiler +for /f "usebackq delims=" %%a in (`findstr /n "\<%2\>" %INSTALL_LOG%.tmp.c_compiler`) do set "%1=True" +fullrf %INSTALL_LOG%.tmp.c_compiler diff --git a/inc/set_simple_aliases.btm b/inc/set_simple_aliases.btm new file mode 100644 index 0000000..6ca2608 --- /dev/null +++ b/inc/set_simple_aliases.btm @@ -0,0 +1,77 @@ +REM Define some simple aliases here if not yet defined. + +iff defined _SET_SIMPLE_ALIAS_SET_ then + goto :eof +endiff + +set _SET_SIMPLE_ALIAS_SET_=1 + +REM File management +REM Copy also hidden files, keep attributes, overwrite automatically +alias copy `*copy /hkz >>& %INSTALL_LOG` + +REM Remove completely a directory +alias nolog_fullrd del /syeqxz +alias fullrd `del /syeqxz >>& %INSTALL_LOG` + +REM Remove a file +alias nolog_fullrf del /yqze +alias fullrf `del /yqze >>& %INSTALL_LOG` + +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 %STUDIO_DIR\%1 >>& %INSTALL_LOG & else & copy %1 %ISE_EIFFEL\%2 %STUDIO_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 Save parent dir of %2 into %1 variable. +alias set_parent_dir_of `for %%a in ("%2") do set "%1=%%~dpa%%"` + +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... & echo Total time used: & echo %@TIMER[2] & set PATH=%OLD_PATH & cdd %INIT_DIR & set EIFFEL_SRC=%OLD_EIFFEL_SRC & set ISE_LIBRARY=%OLD_ISE_LIBRARY & set ISE_SRC=%OLD_ISE_SRC & iff defined TMP_ISE_EIFFEL then & set ISE_EIFFEL=%TMP_ISE_EIFFEL & set TMP_ISE_EIFFEL= & endiff & *cancel` + +REM CVS Commands: checkout, export +alias co `call %INIT_DIR\inc\svn_command.bat co %$ >>& %INSTALL_LOG` +alias exprt `call %INIT_DIR\inc\svn_command.bat --force export %$ >>& %INSTALL_LOG` +REM We cannot redirect the output here, since the output is redirected to a file +alias exprtfile `call %INIT_DIR\inc\svn_command.bat cat %$` + +REM C Compilation +REM `default_make` will compile just for the value of ISE_C_COMPILER (currently defaulting to the Microsoft +REM C compiler. +alias default_make `finish_freezing.exe -library` + +REM `specific_make` will compile using the given C compiler argument. Callers are responsible to set the +REM compiler path and environment variables properly (e.g. using espawn) +alias specific_make `save_path & call compile_library.bat %1 >>& %INSTALL_LOG & cd %TMP_PATH` +alias espawn `set OLD__SET_SIMPLE_ALIAS_SET_=%_SET_SIMPLE_ALIAS_SET_ & unset _SET_SIMPLE_ALIAS_SET_ & *espawn --nologo %$ & set _SET_SIMPLE_ALIAS_SET_=%OLD__SET_SIMPLE_ALIAS_SET_ & unset OLD__SET_SIMPLE_ALIAS_SET_ ` + +REM Eiffel Compilation +REM Remove a project from the current directory, if any +alias clean_project `iff exist EIFGENs .or. isdir EIFGENs then & fullrd EIFGENs & endiff` +REM Finalize at the Eiffel level only +alias finalize `iff "%2" == "" then & ecb -finalize -c_compile -config %$ >>& %INSTALL_LOG & else & ecb -finalize -c_compile -config %1 -target %2 >>& %INSTALL_LOG & endiff` +REM Melt at the Eiffel level only +alias melt `ecb -config %$ >>& %INSTALL_LOG` +alias freeze `ecb -freeze -c_compile -config %$ >>& %INSTALL_LOG` +REM Move up the generated finalized exe (its name is the parameter) and delete the compiled files +alias cleanup_dotnet_eiffel `if exist EIFGENs\%1\F_code\%2 move EIFGENs\%1\F_code\%2 . & if exist EIFGENs\%1\F_code\lib*.dll move EIFGENs\%1\F_code\lib*.dll . & if exist EIFGENs\%1\F_code\Assemblies move EIFGENs\%1\F_code\Assemblies\*.dll . & clean_project` +alias cleanup_eiffel `if exist EIFGENs\%1\F_code\%2 move EIFGENs\%1\F_code\%2 . & clean_project` + +REM Tests.... +alias testpar `if %@INDEX[%$,no_compile] ge 0 echo true` + +REM bash related + +alias dos2unix `echo dos2unix (%1) & tr -d '\r' < %1 > %1-tmp & move %1-tmp %1` +alias set_version `%INIT_DIR%\set_version.bat %1 %2 %3` +alias get_version `%INIT_DIR%\set_version.bat %1` + diff --git a/inc/svn_command.bat b/inc/svn_command.bat new file mode 100644 index 0000000..96a1b75 --- /dev/null +++ b/inc/svn_command.bat @@ -0,0 +1,12 @@ +@echo off +rem This is required to perform svn commands because they often fails, so we repeat them +rem until they succeed. + +set i=0 +:start +if not "%i%"=="0" goto finish + +svn %* +if not errorlevel 1 set i=1 +goto start +:finish diff --git a/inc/t.btm b/inc/t.btm new file mode 100644 index 0000000..7567398 --- /dev/null +++ b/inc/t.btm @@ -0,0 +1,9 @@ +@echo off + +call %INIT_DIR%\inc\set_simple_aliases.btm + +remtrace Test aliases ... +save_path +echo TMP_PATH=%TMP_PATH + +foobar diff --git a/inc/update_libraries.btm b/inc/update_libraries.btm new file mode 100644 index 0000000..aeb5830 --- /dev/null +++ b/inc/update_libraries.btm @@ -0,0 +1,27 @@ +remtrace Update the Eiffel libraries source + +remtrace Compile the Eiffel libraries C code +remtrace com +cdd %1\library\com\Clib +default_make +remtrace com run-time +cdd %1\library\com\Clib_runtime +default_make +remtrace curl +cdd %1\library\cURL\Clib +default_make +remtrace encryption +cdd %1\library\encryption\Clib +default_make +remtrace net +cdd %1\library\net\Clib +default_make +remtrace web_browser +cdd %1\library\web_browser\clib +default_make +remtrace wel +cdd %1\library\wel\clib +default_make +remtrace vision2 +cdd %1\library\vision2\Clib +default_make diff --git a/install/Admin.txt b/install/Admin.txt new file mode 100644 index 0000000..15612d5 --- /dev/null +++ b/install/Admin.txt @@ -0,0 +1,38 @@ +1.0 ADMIN/NON INTERACTIVE INSTALLATIONS: +---------------------------------------- + +If you want to install EiffelStudio/EiffelEnvision in admin mode without any interactions, such +the case of multiple installations please read the following: + +1.1 Installer Properties +------------------------ + +1.1.1 Require Properties + +There are a number of variables that *have* to be set to install successfully. These are detailed below: + + - C_CONFIG_NAME : Either "msc" or "msc_vc140", for using a preinstalled Microsoft C/C++ compiler or "mingw" to install and use GCC. + + - PID : For Enterprise editions of any installer a personal identifier is require, which is in the form of a CD-KEY for the + installing application. For GPL/Free Trial installations this information is not required. + +1.1.2 Optional Properties + +There are also a number of properties that can be optionally defined, but should be defined for they sake of sanity: + + - INSTALLDIR : This is the installed location of the application being installed by the installer and should end in a directory + separator character '\' + +2.0 ADVANCED USER INTERACTION: +------------------------------ + +For special purposes it may be necessary to access installer pages that may not be visible during an installation. Below outlines the install + +2.1 C/C++ Compiler Configuration +-------------------------------- +* Setting the property C_CONFIG_CHOOSE=1 via a command line installation will show the C/C++ compiler configuration page. + +3.0 END NOTE: +------------- + +All those properties marked with an asterix '*' indicate that the property is only effective for EiffelStudio installations. diff --git a/install/CustomActions.wxs b/install/CustomActions.wxs new file mode 100644 index 0000000..08609db --- /dev/null +++ b/install/CustomActions.wxs @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install/Package.wxs b/install/Package.wxs new file mode 100644 index 0000000..4ee8328 --- /dev/null +++ b/install/Package.wxs @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + Eiffel User + + + + + + + + + + + + + + + + $(var.ProductDescription) + info@eiffel.com + http://support.eiffel.com + http://www.eiffel.com + app.ico + 1 + + + + Complete + Remove + + + + + 1 + win64windows + + + + 0 + + 0 + + + 0 + + 0 + + http://dev.eiffel.com/Installing_Microsoft_C_compiler + + mingwmsc + + Unused + + 0 + + 0 + + Unknown Reason + + Unknown Reason + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install/content/eiffelenvision/Bin64.wxs b/install/content/eiffelenvision/Bin64.wxs new file mode 100644 index 0000000..86c7bbb --- /dev/null +++ b/install/content/eiffelenvision/Bin64.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/Bin86.wxs b/install/content/eiffelenvision/Bin86.wxs new file mode 100644 index 0000000..a52b1d1 --- /dev/null +++ b/install/content/eiffelenvision/Bin86.wxs @@ -0,0 +1,6 @@ + + + + + + diff --git a/install/content/eiffelenvision/Compiler.wxs b/install/content/eiffelenvision/Compiler.wxs new file mode 100644 index 0000000..38dfec6 --- /dev/null +++ b/install/content/eiffelenvision/Compiler.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/Compiler64.wxs b/install/content/eiffelenvision/Compiler64.wxs new file mode 100644 index 0000000..20f7030 --- /dev/null +++ b/install/content/eiffelenvision/Compiler64.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/Compiler86.wxs b/install/content/eiffelenvision/Compiler86.wxs new file mode 100644 index 0000000..a52b1d1 --- /dev/null +++ b/install/content/eiffelenvision/Compiler86.wxs @@ -0,0 +1,6 @@ + + + + + + diff --git a/install/content/eiffelenvision/Documentation.wxs b/install/content/eiffelenvision/Documentation.wxs new file mode 100644 index 0000000..ec9ea30 --- /dev/null +++ b/install/content/eiffelenvision/Documentation.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/EiffelEnvisionPackage.wxs b/install/content/eiffelenvision/EiffelEnvisionPackage.wxs new file mode 100644 index 0000000..18ee9be --- /dev/null +++ b/install/content/eiffelenvision/EiffelEnvisionPackage.wxs @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + + + + + + + 0 + + + + "0"]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/install/content/eiffelenvision/EiffelPackages.wxs b/install/content/eiffelenvision/EiffelPackages.wxs new file mode 100644 index 0000000..cef777f --- /dev/null +++ b/install/content/eiffelenvision/EiffelPackages.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/EiffelProjectItems.wxs b/install/content/eiffelenvision/EiffelProjectItems.wxs new file mode 100644 index 0000000..340bc49 --- /dev/null +++ b/install/content/eiffelenvision/EiffelProjectItems.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/EiffelProjects.wxs b/install/content/eiffelenvision/EiffelProjects.wxs new file mode 100644 index 0000000..3f8d019 --- /dev/null +++ b/install/content/eiffelenvision/EiffelProjects.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/Examples.wxs b/install/content/eiffelenvision/Examples.wxs new file mode 100644 index 0000000..1e899b5 --- /dev/null +++ b/install/content/eiffelenvision/Examples.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/Libraries.wxs b/install/content/eiffelenvision/Libraries.wxs new file mode 100644 index 0000000..9f0bb3a --- /dev/null +++ b/install/content/eiffelenvision/Libraries.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/Libraries64.wxs b/install/content/eiffelenvision/Libraries64.wxs new file mode 100644 index 0000000..a52b1d1 --- /dev/null +++ b/install/content/eiffelenvision/Libraries64.wxs @@ -0,0 +1,6 @@ + + + + + + diff --git a/install/content/eiffelenvision/Redist.wxs b/install/content/eiffelenvision/Redist.wxs new file mode 100644 index 0000000..969680b --- /dev/null +++ b/install/content/eiffelenvision/Redist.wxs @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install/content/eiffelenvision/RegCompiler64.wxi b/install/content/eiffelenvision/RegCompiler64.wxi new file mode 100644 index 0000000..e5756aa --- /dev/null +++ b/install/content/eiffelenvision/RegCompiler64.wxi @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/install/content/eiffelenvision/RegCompiler86.wxi b/install/content/eiffelenvision/RegCompiler86.wxi new file mode 100644 index 0000000..e5756aa --- /dev/null +++ b/install/content/eiffelenvision/RegCompiler86.wxi @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/install/content/eiffelenvision/RegEiffelPackages.wxi b/install/content/eiffelenvision/RegEiffelPackages.wxi new file mode 100644 index 0000000..e5756aa --- /dev/null +++ b/install/content/eiffelenvision/RegEiffelPackages.wxi @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/install/content/eiffelenvision/Schema.wxs b/install/content/eiffelenvision/Schema.wxs new file mode 100644 index 0000000..6e4a967 --- /dev/null +++ b/install/content/eiffelenvision/Schema.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/Snippets.wxs b/install/content/eiffelenvision/Snippets.wxs new file mode 100644 index 0000000..b04491a --- /dev/null +++ b/install/content/eiffelenvision/Snippets.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelenvision/Specifications.wxs b/install/content/eiffelenvision/Specifications.wxs new file mode 100644 index 0000000..5ea4436 --- /dev/null +++ b/install/content/eiffelenvision/Specifications.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install/content/eiffelstudio/EiffelStudioPackage.wxs b/install/content/eiffelstudio/EiffelStudioPackage.wxs new file mode 100644 index 0000000..746d4a8 --- /dev/null +++ b/install/content/eiffelstudio/EiffelStudioPackage.wxs @@ -0,0 +1,278 @@ + + + + + + + + + + 1 + + en_US + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = "1"]]> + = "1"]]> + + + = "1"]]> + = "1"]]> + + + + + + + + + + + + + + + + + + + + + diff --git a/install/content/eiffelstudio/makefile b/install/content/eiffelstudio/makefile new file mode 100644 index 0000000..420d326 --- /dev/null +++ b/install/content/eiffelstudio/makefile @@ -0,0 +1,118 @@ +HALLOW = %INIT_DIR%\install\bin\hallow.exe +HALLOW_FLAGS = -nologo -de:"\.svn$$" -x64 -c:"EiffelStudio" +HALLOW_FLAGS_X86 = $(HALLOW_FLAGS) -c:"x86" +HALLOW_FLAGS_X64 = $(HALLOW_FLAGS) -c:"x64" +MSBUILD = C:\Windows\Microsoft.NET\Framework\v2.0.50727\msbuild.exe +MSBUILD_FLAGS = /nologo /verbosity:quiet + +################################################################### +# +# Package targets +# +################################################################### + +all:: build + +################################################################### +# +# Build targets +# +################################################################### + +WXS = \ + studio_gcc.wxs \ + studio_core.wxs \ + studio_examples.wxs \ + studio_libraries.wxs \ + studio_gobo.wxs \ + studio_experimental.wxs \ + studio_gobo_experimental.wxs \ + studio_gdiplus.wxs \ + studio_ent_ec.wxs \ + studio_gpl_ec.wxs + + +build: $(WXS) + +studio_gcc.wxs: + $(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\gcc" -dr:"Dir.gcc" -g:"gcc" -r -n:"gcc." > $@.tmp + move $@.tmp $@ + +studio_core.wxs: + $(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio" -dr:"INSTALLDIR" \ + -de:"\\EiffelStudio\\library$$" -de:"\\EiffelStudio\\examples$$" \ + -de:"\\EiffelStudio\\compatible$$" -de:"\\EiffelStudio\\gcc$$" \ + -de:"\\EiffelStudio\\experimental$$" \ + -fe:"\\EiffelStudio\\studio\\spec\\w.*\\estudio.exe$$" \ + -fe:"\\EiffelStudio\\esbuilder\\spec\\w.*\\esbuilder.exe$$" \ + -g:"Core" -r -n:"Core." > $@.tmp + move $@.tmp $@ + +studio_examples.wxs: + $(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\examples" \ + -dr:"Dir.Core.examples" -g:"Core.examples" -r -n:"Core.examples." > $@.tmp + move $@.tmp $@ + +studio_libraries.wxs: + $(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\library" \ + -dr:"Dir.Core.library" -de:"\\EiffelStudio\\library\\gobo$$" \ + -g:"Core.library" -r -n:"Core.library." > $@.tmp + move $@.tmp $@ + +studio_gobo.wxs: + $(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\library\gobo" \ + -dr:"Dir.Core.library.gobo" -g:"Core.library.gobo" -r -n:"Core.library.gobo." > $@.tmp + move $@.tmp $@ + +studio_experimental.wxs: + $(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\experimental\library" -dr:"Dir.Core.experimental.library" -de:"\\EiffelStudio\\experimental\\library\\gobo$$" -g:"Core.experimental.library" -r -n:"Core.experimental." > $@.tmp + move $@.tmp $@ + +studio_gobo_experimental.wxs: + $(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\experimental\library\gobo" -dr:"Dir.Core.experimental.library.gobo" -g:"Core.experimental.library.gobo" -r -n:"Core.experimental.library.gobo." > $@.tmp + move $@.tmp $@ + +studio_gdiplus.wxs: + $(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\releases" \ + -dr:"Dir.Core.studio.spec.$$(var.IsePlatform).bin" -g:"gdiplus" -n:"gdiplus" \ + -fi:gdiplus.dll -de:"\*" > $@.tmp + move $@.tmp $@ + +studio_ent_ec.wxs: + $(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\releases\enterprise_version" \ + -dr:"Dir.Core.studio.spec.$$(var.IsePlatform).bin" -g:"enterprise_ec" -n:"Core." > $@.tmp + move $@.tmp $@ + +studio_gpl_ec.wxs: + $(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\releases\gpl_version" \ + -dr:"Dir.Core.studio.spec.$$(var.IsePlatform).bin" -g:"gpl_ec" -n:"Core." > $@.tmp + move $@.tmp $@ + +################################################################### +# +# MSIs +# +################################################################### + +enterprise_x86: $(WXS) + $(MSBUILD) $(MSBUILD_FLAGS) /p:Configuration=studio_ent_x86 /p:Platform=x86 ..\..\package.sln + +gpl_x86: $(WXS) + $(MSBUILD) $(MSBUILD_FLAGS) /p:Configuration=studio_gpl_x86 /p:Platform=x86 ..\..\package.sln + +enterprise_x64: $(WXS) + $(MSBUILD) $(MSBUILD_FLAGS) /p:Configuration=studio_ent_x64 /p:Platform=x64 ..\..\package.sln + +gpl_x64: $(WXS) + $(MSBUILD) $(MSBUILD_FLAGS) /p:Configuration=studio_gpl_x64 /p:Platform=x64 ..\..\package.sln + + +################################################################### +# +# Clean builds +# +################################################################### + +clean: + for %i in ($(WXS)) do if exist %i del %i + if exist *.msi del *.msi diff --git a/install/content/eiffelstudio/studio_core.wxs b/install/content/eiffelstudio/studio_core.wxs new file mode 100644 index 0000000..c6004ac --- /dev/null +++ b/install/content/eiffelstudio/studio_core.wxs @@ -0,0 +1,5 @@ + + + + + diff --git a/install/content/eiffelstudio/studio_ent_ec.wxs b/install/content/eiffelstudio/studio_ent_ec.wxs new file mode 100644 index 0000000..e7a8022 --- /dev/null +++ b/install/content/eiffelstudio/studio_ent_ec.wxs @@ -0,0 +1,5 @@ + + + + + diff --git a/install/content/eiffelstudio/studio_examples.wxs b/install/content/eiffelstudio/studio_examples.wxs new file mode 100644 index 0000000..4653f7d --- /dev/null +++ b/install/content/eiffelstudio/studio_examples.wxs @@ -0,0 +1,5 @@ + + + + + diff --git a/install/content/eiffelstudio/studio_experimental.wxs b/install/content/eiffelstudio/studio_experimental.wxs new file mode 100644 index 0000000..d355756 --- /dev/null +++ b/install/content/eiffelstudio/studio_experimental.wxs @@ -0,0 +1,5 @@ + + + + + diff --git a/install/content/eiffelstudio/studio_gcc.wxs b/install/content/eiffelstudio/studio_gcc.wxs new file mode 100644 index 0000000..e58d3b5 --- /dev/null +++ b/install/content/eiffelstudio/studio_gcc.wxs @@ -0,0 +1,5 @@ + + + + + diff --git a/install/content/eiffelstudio/studio_gdiplus.wxs b/install/content/eiffelstudio/studio_gdiplus.wxs new file mode 100644 index 0000000..d413180 --- /dev/null +++ b/install/content/eiffelstudio/studio_gdiplus.wxs @@ -0,0 +1,5 @@ + + + + + diff --git a/install/content/eiffelstudio/studio_gobo.wxs b/install/content/eiffelstudio/studio_gobo.wxs new file mode 100644 index 0000000..0a156f7 --- /dev/null +++ b/install/content/eiffelstudio/studio_gobo.wxs @@ -0,0 +1,6 @@ + + + + + + diff --git a/install/content/eiffelstudio/studio_gobo_experimental.wxs b/install/content/eiffelstudio/studio_gobo_experimental.wxs new file mode 100644 index 0000000..dcfb410 --- /dev/null +++ b/install/content/eiffelstudio/studio_gobo_experimental.wxs @@ -0,0 +1,6 @@ + + + + + + diff --git a/install/content/eiffelstudio/studio_gpl_ec.wxs b/install/content/eiffelstudio/studio_gpl_ec.wxs new file mode 100644 index 0000000..463b79e --- /dev/null +++ b/install/content/eiffelstudio/studio_gpl_ec.wxs @@ -0,0 +1,5 @@ + + + + + diff --git a/install/content/eiffelstudio/studio_libraries.wxs b/install/content/eiffelstudio/studio_libraries.wxs new file mode 100644 index 0000000..1e477a9 --- /dev/null +++ b/install/content/eiffelstudio/studio_libraries.wxs @@ -0,0 +1,5 @@ + + + + + diff --git a/install/images/app.ico b/install/images/app.ico new file mode 100644 index 0000000..9b38dc4 Binary files /dev/null and b/install/images/app.ico differ diff --git a/install/images/eiffelenvision/backdrop.bmp b/install/images/eiffelenvision/backdrop.bmp new file mode 100644 index 0000000..b60997f Binary files /dev/null and b/install/images/eiffelenvision/backdrop.bmp differ diff --git a/install/images/eiffelenvision/backdrop_error.bmp b/install/images/eiffelenvision/backdrop_error.bmp new file mode 100644 index 0000000..be3846c Binary files /dev/null and b/install/images/eiffelenvision/backdrop_error.bmp differ diff --git a/install/images/eiffelenvision/backdrop_info.bmp b/install/images/eiffelenvision/backdrop_info.bmp new file mode 100644 index 0000000..feae3eb Binary files /dev/null and b/install/images/eiffelenvision/backdrop_info.bmp differ diff --git a/install/images/eiffelenvision/backdrop_remove.bmp b/install/images/eiffelenvision/backdrop_remove.bmp new file mode 100644 index 0000000..8d77f21 Binary files /dev/null and b/install/images/eiffelenvision/backdrop_remove.bmp differ diff --git a/install/images/eiffelenvision/backdrop_warning.bmp b/install/images/eiffelenvision/backdrop_warning.bmp new file mode 100644 index 0000000..79c5929 Binary files /dev/null and b/install/images/eiffelenvision/backdrop_warning.bmp differ diff --git a/install/images/eiffelstudio/backdrop.bmp b/install/images/eiffelstudio/backdrop.bmp new file mode 100644 index 0000000..0b0f22e Binary files /dev/null and b/install/images/eiffelstudio/backdrop.bmp differ diff --git a/install/images/eiffelstudio/backdrop_c_compiler.bmp b/install/images/eiffelstudio/backdrop_c_compiler.bmp new file mode 100644 index 0000000..b6c0498 Binary files /dev/null and b/install/images/eiffelstudio/backdrop_c_compiler.bmp differ diff --git a/install/images/eiffelstudio/backdrop_error.bmp b/install/images/eiffelstudio/backdrop_error.bmp new file mode 100644 index 0000000..3ec28fe Binary files /dev/null and b/install/images/eiffelstudio/backdrop_error.bmp differ diff --git a/install/images/eiffelstudio/backdrop_info.bmp b/install/images/eiffelstudio/backdrop_info.bmp new file mode 100644 index 0000000..ea1577a Binary files /dev/null and b/install/images/eiffelstudio/backdrop_info.bmp differ diff --git a/install/images/eiffelstudio/backdrop_remove.bmp b/install/images/eiffelstudio/backdrop_remove.bmp new file mode 100644 index 0000000..b5eea9c Binary files /dev/null and b/install/images/eiffelstudio/backdrop_remove.bmp differ diff --git a/install/images/eiffelstudio/backdrop_warning.bmp b/install/images/eiffelstudio/backdrop_warning.bmp new file mode 100644 index 0000000..339a4ee Binary files /dev/null and b/install/images/eiffelstudio/backdrop_warning.bmp differ diff --git a/install/images/error.ico b/install/images/error.ico new file mode 100644 index 0000000..ed8330f Binary files /dev/null and b/install/images/error.ico differ diff --git a/install/images/folder.ico b/install/images/folder.ico new file mode 100644 index 0000000..f862ffb Binary files /dev/null and b/install/images/folder.ico differ diff --git a/install/images/icon.ico b/install/images/icon.ico new file mode 100644 index 0000000..5d9ffec Binary files /dev/null and b/install/images/icon.ico differ diff --git a/install/images/info.ico b/install/images/info.ico new file mode 100644 index 0000000..ed46f2c Binary files /dev/null and b/install/images/info.ico differ diff --git a/install/images/new.bmp b/install/images/new.bmp new file mode 100644 index 0000000..27881df Binary files /dev/null and b/install/images/new.bmp differ diff --git a/install/images/question.ico b/install/images/question.ico new file mode 100644 index 0000000..a4df4ba Binary files /dev/null and b/install/images/question.ico differ diff --git a/install/images/up.bmp b/install/images/up.bmp new file mode 100644 index 0000000..86f6b5a Binary files /dev/null and b/install/images/up.bmp differ diff --git a/install/images/warning.ico b/install/images/warning.ico new file mode 100644 index 0000000..c09dfdc Binary files /dev/null and b/install/images/warning.ico differ diff --git a/install/includes/Preprocessors.wxi b/install/includes/Preprocessors.wxi new file mode 100644 index 0000000..a758600 --- /dev/null +++ b/install/includes/Preprocessors.wxi @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install/interface/Configuration.wxs b/install/interface/Configuration.wxs new file mode 100644 index 0000000..a201fbe --- /dev/null +++ b/install/interface/Configuration.wxs @@ -0,0 +1,407 @@ + + + + + + < &Back + &Next > + &Finish + &Abort + + OK + Cancel + + Br&owse... + E&xit + &Ignore + &Install + &Remove + &Repair + &Reset + &Resume + &Retry + &Return + &Restart + + &Yes + &No + &Agree + &Disagree + &Back + &View + &Close + &Download + &View How To... + &View Full Error... + &View Full Warning... + Chec&k for an Installed C Compiler + + + + + {&DlgFontBold8} + {&DlgFontBold8Red} + {&DlgFont8} + {&VerdanaBold13} + DlgFont8 + PromptError + + + + + + + + + + + + + + + + + + + "0") AND NOT Installed]]> + + + + + + + + + + + + + + + + + + + + "0") AND NOT Installed]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bytes + GB + KB + MB + Entire feature will be unavailable + Feature will be installed when required + Entire feature will be installed to run from CD + Entire feature will be installed on local hard drive + Entire feature will be installed to run from network + Will be installed to run from CD + Will be installed on local hard drive + Will be installed to run from network + Gathering required information... + This feature will remain uninstalled + This feature will be set to be installed when required + This feature will be installed to run from CD + This feature will be installed on the local hard drive + This feature will be installed to run from the network + This feature will become unavailable + Will be installed when required + This feature will be available to run from CD + This feature will be installed on your local hard drive + This feature will be available to run from the network + This feature will be uninstalled completely, you won't be able to run it from CD + This feature will change from run from CD state to set to be installed when required + This feature will remain to be run from CD + This feature will change from run from CD state to be installed on the local hard drive + This feature frees up [1] on your hard drive. + This feature requires [1] on your hard drive. + Compiling cost for this feature... + This feature will be completely removed + This feature will be removed from your local hard drive, but will be set to be installed when required + This feature will be removed from your local hard drive, but will be still available to run from CD + This feature will remain on you local hard drive + This feature will be removed from your local hard drive, but will be still available to run from the network + This feature will be uninstalled completely, you won't be able to run it from the network + This feature will change from run from network state to set to be installed when required + This feature will change from run from network state to be installed on the local hard drive + This feature will remain to be run from the network + This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive. + This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive. + This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive. + This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive. + Time remaining: {[1] minutes }{[2] seconds} + Available + Difference + Required + Disk Size + Volume + + Installing + installed + installation + Installation + + + + Computing space requirements + Computing space requirements + Computing space requirements + Validating install + Copying new files + Copying network install files + Creating shortcuts + Publishing Qualified Components + Publishing Product Features + Publishing product information + Registering Class servers + Registering extension servers + Registering MIME info + Registering program identifiers + Allocating registry space + Searching for installed applications + Binding executables + Searching for qualifying products + Creating folders + Deleting services + Creating duplicate files + Searching for related applications + Installing ODBC components + Installing new services + Evaluating launch conditions + Migrating feature states from related applications + Moving files + Patching files + Updating component registration + Registering COM+ Applications and Components + Registering fonts + Registering product + Registering type libraries + Registering user + Removing duplicated files + Updating environment strings + Removing applications + Removing files + Removing folders + Removing INI files entries + Removing ODBC components + Removing system registry values + Removing shortcuts + Searching for qualifying products + Registering modules + Unregistering modules + Initializing ODBC directories + Starting services + Stopping services + Unpublishing Qualified Components + Unpublishing Product Features + Unregister Class servers + Unregistering COM+ Applications and Components + Unregistering extension servers + Unregistering fonts + Unregistering MIME info + Unregistering program identifiers + Unregistering type libraries + Updating environment strings + Writing INI files values + Writing system registry values + Advertising application + Generating script operations for action: + Installing system catalog + Publishing assembly information + Unpublishing assembly information + Rolling back action: + Removing backup files + Removing moved files + Unpublishing product information + + {{Fatal error: }} + {{Error [1]. }} + Warning [1]. + + Info [1]. + The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}} + + {{Disk full: }} + Action [Time]: [1]. [2] + [ProductName] + {[2]}{, [3]}{, [4]} + Message type: [1], Argument: [2] + === Logging started: [Date] [Time] === + === Logging stopped: [Date] [Time] === + Action start [Time]: [1]. + Action ended [Time]: [1]. Return value [2]. + Time remaining: {[1] minutes }{[2] seconds} + Out of memory. Shut down other applications before retrying. + Installer is no longer responding. + Installer stopped prematurely. + Please wait while Windows configures [ProductName] + Gathering required information... + Removing older versions of this application... + Preparing to remove older versions of this application... + {[ProductName]}Setup completed successfully. + {[ProductName]}Setup failed. + Error reading from file: [2]. {{ System error [3].}} Verify that the file exists and that you can access it. + Cannot create the file '[2]'. A directory with this name already exists. Cancel the install and try installing to a different location. + Please insert the disk: [2] + The installer has insufficient privileges to access this directory: [2]. The installation cannot continue. Log on as administrator or contact your system administrator. + Error writing to file: [2]. Verify that you have access to that directory. + Error reading from file [2]. {{ System error [3].}} Verify that the file exists and that you can access it. + Another application has exclusive access to the file '[2]'. Please shut down all other applications, then click Retry. + There is not enough disk space to install this file: [2]. Free some disk space and click Retry, or click Cancel to exit. + Source file not found: [2]. Verify that the file exists and that you can access it. + Error reading from file: [3]. {{ System error [2].}} Verify that the file exists and that you can access it. + Error writing to file: [3]. {{ System error [2].}} Verify that you have access to that directory. + Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it. + Cannot create the directory '[2]'. A file with this name already exists. Please rename or remove the file and click retry, or click Cancel to exit. + The volume [2] is currently unavailable. Please select another. + The specified path '[2]' is unavailable. + Unable to write to the specified folder: [2]. + A network error occurred while attempting to read from the file: [2] + An error occurred while attempting to create the directory: [2] + A network error occurred while attempting to create the directory: [2] + A network error occurred while attempting to open the source file cabinet: [2] + The specified path is too long: [2] + The Installer has insufficient privileges to modify this file: [2]. + A portion of the folder path '[2]' is invalid. It is either empty or exceeds the length allowed by the system. + The folder path '[2]' contains words that are not valid in folder paths. + The folder path '[2]' contains an invalid character. + '[2]' is not a valid short file name. + Error getting file security: [3] GetLastError: [2] + Invalid Drive: [2] + Error applying patch to file [2]. It has probably been updated by other means, and can no longer be modified by this patch. For more information contact your patch vendor. {{System Error: [3]}} + A file that is required cannot be installed because the cabinet file [2] is not digitally signed. This may indicate that the cabinet file is corrupt. + A file that is required cannot be installed because the cabinet file [2] has an invalid digital signature. This may indicate that the cabinet file is corrupt.{{ Error [3] was returned by WinVerifyTrust.}} + Failed to correctly copy [2] file: CRC error. + Failed to correctly move [2] file: CRC error. + Failed to correctly patch [2] file: CRC error. + The file '[2]' cannot be installed because the file cannot be found in cabinet file '[3]'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package. + The cabinet file '[2]' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package. + There was an error creating a temporary file that is needed to complete this installation.{{ Folder: [3]. System error code: [2]}} + Could not create key: [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. + Could not open key: [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. + Could not delete value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel. + Could not delete key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. + Could not read value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel. + Could not write value [2] to key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel. + Could not get value names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. + Could not get sub key names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. + Could not read security information for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. + Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application. + Another installation is in progress. You must complete that installation before continuing this one. + Error accessing secured data. Please make sure the Windows Installer is configured properly and try the install again. + User '[2]' has previously initiated an install for product '[3]'. That user will need to run that install again before they can use that product. Your current install will now continue. + User '[2]' has previously initiated an install for product '[3]'. That user will need to run that install again before they can use that product. + Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB. Free some disk space and retry. + Are you sure you want to cancel? + The file [2][3] is being held in use{ by the following process: Name: [4], Id: [5], Window Title: '[6]'}. Close that application and retry. + The product '[2]' is already installed, preventing the installation of this product. The two products are incompatible. + There is not enough disk space on the volume '[2]' to continue the install with recovery enabled. [3] KB are required, but only [4] KB are available. Click Ignore to continue the install without saving recovery information, click Retry to check for available space again, or click Cancel to quit the installation. + Could not access network location [2]. + The following applications should be closed before continuing the install: + Could not find any previously installed compliant products on the machine for installing this product. + An error occurred while applying security settings. [2] is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or Cancel to end the install. {{Unable to locate the user's SID, system error [3]}} + The key [2] is not valid. Verify that you entered the correct key. + The installer must restart your system before configuration of [2] can continue. Click Yes to restart now or No if you plan to manually restart later. + You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to manually restart later. + An installation for [2] is currently suspended. You must undo the changes made by that installation to continue. Do you want to undo those changes? + A previous installation for this product is in progress. You must undo the changes made by that installation to continue. Do you want to undo those changes? + An installation package for the product [2] cannot be found. Try the installation again using a valid copy of the installation package '[3]'. + Installation completed successfully. + Installation failed. + Product: [2] -- [3] + You may either restore your computer to its previous state or continue the install later. Would you like to restore? + An error occurred while writing installation information to disk. Check to make sure enough disk space is available, and click Retry, or Cancel to end the install. + One or more of the files required to restore your computer to its previous state could not be found. Restoration will not be possible. + [2] cannot install one of its required products. Contact your technical support group. {{System Error: [3].}} + The older version of [2] cannot be removed. Contact your technical support group. {{System Error [3].}} + Installed [2] + Configured [2] + Removed [2] + File [2] was rejected by digital signature policy. + The Windows Installer Service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed. Contact your support personnel for assistance. + There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. {{Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8] }} + There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. {{Action: [2], location: [3], command: [4] }} + There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. {{Action [2], location: [3], command: [4] }} + There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. {{Action [2], entry: [3], library: [4] }} + Removal completed successfully. + Removal failed. + Advertisement completed successfully. + Advertisement failed. + Configuration completed successfully. + Configuration failed. + You must be an Administrator to remove this application. To remove this application, you can log on as an Administrator, or contact your technical support group for assistance. + The path [2] is not valid. Please specify a valid path. + Out of memory. Shut down other applications before retrying. + There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume. + There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume. + The folder [2] does not exist. Please enter a path to an existing folder. + You have insufficient privileges to read this folder. + A valid destination folder for the install could not be determined. + Error attempting to read from the source install database: [2]. + Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation. + Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation. + Module [2] failed to register. HRESULT [3]. Contact your support personnel. + Module [2] failed to unregister. HRESULT [3]. Contact your support personnel. + Failed to cache package [2]. Error: [3]. Contact your support personnel. + Could not register font [2]. Verify that you have sufficient permissions to install fonts, and that the system supports this font. + Could not unregister font [2]. Verify that you that you have sufficient permissions to remove fonts. + Could not create Shortcut [2]. Verify that the destination folder exists and that you can access it. + Could not remove Shortcut [2]. Verify that the shortcut file exists and that you can access it. + Could not register type library for file [2]. Contact your support personnel. + Could not unregister type library for file [2]. Contact your support personnel. + Could not update the ini file [2][3]. Verify that the file exists and that you can access it. + Could not schedule file [2] to replace file [3] on reboot. Verify that you have write permissions to file [3]. + Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel. + Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel. + Error removing ODBC driver: [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers. + Error installing ODBC driver: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it. + Error configuring ODBC data source: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it. + Service '[2]' ([3]) failed to start. Verify that you have sufficient privileges to start system services. + Service '[2]' ([3]) could not be stopped. Verify that you have sufficient privileges to stop system services. + Service '[2]' ([3]) could not be deleted. Verify that you have sufficient privileges to remove system services. + Service '[2]' ([3]) could not be installed. Verify that you have sufficient privileges to install system services. + Could not update environment variable '[2]'. Verify that you have sufficient privileges to modify environment variables. + You do not have sufficient privileges to complete this installation for all users of the machine. Log on as administrator and then retry this installation. + Could not set file security for file '[3]'. Error: [2]. Verify that you have sufficient privileges to modify the security permissions for this file. + Component Services (COM+ 1.0) are not installed on this computer. This installation requires Component Services in order to complete successfully. Component Services are available on Windows 2000. + Error registering COM+ Application. Contact your support personnel for more information. + Error unregistering COM+ Application. Contact your support personnel for more information. + The description for service '[2]' ([3]) could not be changed. + The Windows Installer service cannot update the system file [2] because the file is protected by Windows. You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}} + The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}} + The Windows Installer service cannot update one or more protected Windows files. {{SFP Error: [2]. List of protected files:\r\n[3]}} + User installations are disabled via policy on the machine. + An error occured during the installation of assembly component [2]. HRESULT: [3]. {{assembly interface: [4], function: [5], assembly name: [6]}} + + + + diff --git a/install/interface/DialogExitSuccess.wxs b/install/interface/DialogExitSuccess.wxs new file mode 100644 index 0000000..4db1693 --- /dev/null +++ b/install/interface/DialogExitSuccess.wxs @@ -0,0 +1,22 @@ + + + + + + + + [BigFont][ProductName] [ProgressType4] Complete + + + [ProductName] has been successfully [ProgressType2] on your system. + + + Click the Finish button to exit the installer. + + + 1 + + + + + diff --git a/install/interface/DialogFatalError.wxs b/install/interface/DialogFatalError.wxs new file mode 100644 index 0000000..2e03f88 --- /dev/null +++ b/install/interface/DialogFatalError.wxs @@ -0,0 +1,25 @@ + + + + + + + + [BigFont][ProductName] Ended Prematurely! + + + [ProductName] setup ended prematurely because of an unexpected error. Your system has not been modified. To install this program at a later time, please run the installation again. + + + Please contact our support department if you need assistance - http://support.eiffel.com. + + + Click the Finish button to exit the installer. + + + 1 + + + + + diff --git a/install/interface/DialogFilesInUse.wxs b/install/interface/DialogFilesInUse.wxs new file mode 100644 index 0000000..e19f895 --- /dev/null +++ b/install/interface/DialogFilesInUse.wxs @@ -0,0 +1,31 @@ + + + + + + + + [BigFont]Files in Use + + + [SubTitleFont]Some files that need to be updated are currently in use + + + The following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it. + + + + + + 1 + + + 1 + + + 1 + + + + + diff --git a/install/interface/DialogMaintenanceWelcome.wxs b/install/interface/DialogMaintenanceWelcome.wxs new file mode 100644 index 0000000..49d7b33 --- /dev/null +++ b/install/interface/DialogMaintenanceWelcome.wxs @@ -0,0 +1,46 @@ + + + + + + + + + + + + + [BigFont]Welcome to the [ProductName] Maintenance Installation + + + The maintanence installer will guide you through the steps required to repair or uninstall [ProductName] on your computer. + + + Please select from one of the maintenance options and then click Next to continue. + + + + + + + + + + + + + + + + + + + 1 + + + 1 + + + + + diff --git a/install/interface/DialogProgress.wxs b/install/interface/DialogProgress.wxs new file mode 100644 index 0000000..22a17eb --- /dev/null +++ b/install/interface/DialogProgress.wxs @@ -0,0 +1,28 @@ + + + + + + + + [BigFont][ProgressType1] [ProductName]... + + + Please wait while [ProductName] is [ProgressType2]. + + + + + + + + + + + + 1 + + + + + diff --git a/install/interface/DialogRegister.wxs b/install/interface/DialogRegister.wxs new file mode 100644 index 0000000..f64f794 --- /dev/null +++ b/install/interface/DialogRegister.wxs @@ -0,0 +1,52 @@ + + + + + + + + + + + [BigFont]Enter License Information + + + [SubTitleFont]Please use the license information to continue the installation. + + + Please enter you name, company/organization (if applicable) and the CD-key provided to you, by [Manufacturer], to continue with the installation of [ProductName]. + + + &Name: + + + + &Organization: + + + None + + + CD-&Key: + + + + 1 + + + 1 + "1"]]> + + + + ""]]> + + + + 1 + + + + + + diff --git a/install/interface/DialogSelectFolder.wxs b/install/interface/DialogSelectFolder.wxs new file mode 100644 index 0000000..f6e0248 --- /dev/null +++ b/install/interface/DialogSelectFolder.wxs @@ -0,0 +1,52 @@ + + + + + + + + [BigFont]Select an Installation Location + + + [SubTitleFont]Please choose the installation location. + + + To install in this folder, click "Next". To install to a different folder, enter it below or click "Browse". + + + &Folder: + + + + 1 + 1 + + + + + 1 + + 1 + + + + 1 + + 1 + + + + + + 1 + + 1 + + + + 1 + + + + + diff --git a/install/interface/DialogUserExit.wxs b/install/interface/DialogUserExit.wxs new file mode 100644 index 0000000..6570ef6 --- /dev/null +++ b/install/interface/DialogUserExit.wxs @@ -0,0 +1,22 @@ + + + + + + + + [BigFont][ProductName] [ProcessType4] Was Interrupted + + + [ProductName] was interrupted. Your system has not been modified. To install this program at a later time, please run the installation again. + + + Click the Finish button to exit the installer. + + + 1 + + + + + diff --git a/install/interface/DialogVerifyReadyInstall.wxs b/install/interface/DialogVerifyReadyInstall.wxs new file mode 100644 index 0000000..a68baa1 --- /dev/null +++ b/install/interface/DialogVerifyReadyInstall.wxs @@ -0,0 +1,35 @@ + + + + + + + + [BigFont]About to begin the [ProductName] Installation + + + The installer is ready to begin the installation for [ProductName]. + + + Click the Install button to start the installation process. + + + 1]]> + + + + + + + 1 + + + + + "1"]]> + + + + + + diff --git a/install/interface/DialogVerifyReadyMaintain.wxs b/install/interface/DialogVerifyReadyMaintain.wxs new file mode 100644 index 0000000..eeccb53 --- /dev/null +++ b/install/interface/DialogVerifyReadyMaintain.wxs @@ -0,0 +1,47 @@ + + + + + + + + [BigFont]About to Begin the [ProgressType4] for [ProductName] + + + The installer is ready to begin the [ProgressType3] for [ProductName]. + + + + + + + 1 + + + 1 + + + + + diff --git a/install/interface/DialogViewLicenseAgreement.wxs b/install/interface/DialogViewLicenseAgreement.wxs new file mode 100644 index 0000000..99f907f --- /dev/null +++ b/install/interface/DialogViewLicenseAgreement.wxs @@ -0,0 +1,38 @@ + + + + + + + + + + [BigFont]End-User License Agreement + + + [SubTitleFont]Please read the following license agreement carefully! + + + + + + 1 + + + + + + + 1 + + 1 + + + + + 1 + + + + + diff --git a/install/interface/DialogWelcome.wxs b/install/interface/DialogWelcome.wxs new file mode 100644 index 0000000..b749585 --- /dev/null +++ b/install/interface/DialogWelcome.wxs @@ -0,0 +1,31 @@ + + + + + + + + [BigFont]Welcome to the [ProductName] Installation + + + The installer will guide you through the steps required to install [ProductName] on your computer, to get you up and running as soon as possible. + + + [TitleFont]Please note that [ProductName] requires a Microsoft C/C++ compiler to complete compilation. If you do not already have one, A Microsoft C/C++ compiler is freely available to download and install. Please click the 'View How To...' button for up-to-date details on how to obtain and configure the Microsoft Windows SDK. + + + + 1 + + + + + 1 + + + 1 + + + + + diff --git a/install/interface/PromptBrowse.wxs b/install/interface/PromptBrowse.wxs new file mode 100644 index 0000000..9cceb97 --- /dev/null +++ b/install/interface/PromptBrowse.wxs @@ -0,0 +1,37 @@ + + + + + + + + [BigFont]Change current destination folder + + + [SubTitleFont]Browse to the destination folder + + + + + + + 1 + + + 1 + + + + + + 1 + 1 + + + 1 + 1 + + + + + \ No newline at end of file diff --git a/install/interface/PromptCancelInstall.wxs b/install/interface/PromptCancelInstall.wxs new file mode 100644 index 0000000..82e7323 --- /dev/null +++ b/install/interface/PromptCancelInstall.wxs @@ -0,0 +1,19 @@ + + + + + + + + Are you sure you want to cancel the [ProgressType3] of [ProductName]? + + + 1 + + + 1 + + + + + diff --git a/install/interface/PromptCancelLicense.wxs b/install/interface/PromptCancelLicense.wxs new file mode 100644 index 0000000..dd4bb5a --- /dev/null +++ b/install/interface/PromptCancelLicense.wxs @@ -0,0 +1,19 @@ + + + + + + + + You cannot install [ProductName] if you do not agree with the End-User License Agreement (EULA). + + + 1 + + + 1 + + + + + diff --git a/install/interface/PromptError.wxs b/install/interface/PromptError.wxs new file mode 100644 index 0000000..9365289 --- /dev/null +++ b/install/interface/PromptError.wxs @@ -0,0 +1,32 @@ + + + + + + + + 1 + + + 1 + + + 1 + + + + 1 + + + 1 + + + 1 + + + 1 + + + + + diff --git a/install/interface/PromptInvalidCdKey.wxs b/install/interface/PromptInvalidCdKey.wxs new file mode 100644 index 0000000..9dd6f26 --- /dev/null +++ b/install/interface/PromptInvalidCdKey.wxs @@ -0,0 +1,18 @@ + + + + + + + + + The CD-Key entered is not a valid CD-Key for [ProductName]. Please check and try again. + + + 1 + + + + + + diff --git a/install/interface/PromptOutOfDiskSpace.wxs b/install/interface/PromptOutOfDiskSpace.wxs new file mode 100644 index 0000000..35fc3cf --- /dev/null +++ b/install/interface/PromptOutOfDiskSpace.wxs @@ -0,0 +1,25 @@ + + + + + + + + [BigFont]Out of Disk Space + + + [SubTitleFont]Disk space required for the [ProgressType3] exceeds available disk space. + + + The highlighted volumes do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s). + + + {120}{70}{70}{70}{70} + + + 1 + + + + + diff --git a/install/interface/PromptOutOfRollbackDiskSpace.wxs b/install/interface/PromptOutOfRollbackDiskSpace.wxs new file mode 100644 index 0000000..e6b8656 --- /dev/null +++ b/install/interface/PromptOutOfRollbackDiskSpace.wxs @@ -0,0 +1,32 @@ + + + + + + + + [BigFont]Out of Disk Space + + + [SubTitleFont]Disk space required for the [ProgressType3] exceeds available disk space. + + + The highlighted volumes do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s). + + + Alternatively, you may choose to disable the installer"s rollback functionality. This allows the installer to restore your computer"s original state should the [ProgressType3] be interrupted in any way. Click Yes if you wish to take the risk to disable rollback. + + + {120}{70}{70}{70}{70} + + + 1 + 1 + + + 1 + + + + + diff --git a/install/interface/eiffelstudio/DialogMissingNetFx.wxs b/install/interface/eiffelstudio/DialogMissingNetFx.wxs new file mode 100644 index 0000000..2d14cff --- /dev/null +++ b/install/interface/eiffelstudio/DialogMissingNetFx.wxs @@ -0,0 +1,34 @@ + + + + + + + + + [BigFont]Missing Microsoft .NET + + + [SubTitleFont]The installer has detected missing software + + + The Microsoft .NET Framework does not seem to be installed on this machine. Continuing the installation will disable the extensions for [ProductName] to compile .NET applications. + + + If you do not wish to use the Microsoft .NET facilities, click the Next button to contine. If you would like to take advantage of Eiffel using the Microsoft .NET Framework please click Cancel and install the Microsoft .NET SDK, Windows SDK or Visual Studio 2002 and newer. + + + 1 + + + + "1"]]> + + + 1 + + + + + + diff --git a/install/interface/eiffelstudio/DialogSelectCCompiler.wxs b/install/interface/eiffelstudio/DialogSelectCCompiler.wxs new file mode 100644 index 0000000..b3dc5d1 --- /dev/null +++ b/install/interface/eiffelstudio/DialogSelectCCompiler.wxs @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + [BigFont]C/C++ Compiler Selection + + + [SubTitleFont]The Eiffel compiler requires a C/C++ compiler to generate executables + + + If you have the Microsoft Visual C++ compiler version 8.0, or above, or you have installed the latest Windows SDK then select "Use a Microsoft C/C++ compiler". + + + + + 1 + "msc"]]> + "1"]]> + + + "1"]]> + + + + 1 + + 1 + + + 1 + + + + + + diff --git a/install/interface/eiffelstudio/DialogSelectLanguage.wxs b/install/interface/eiffelstudio/DialogSelectLanguage.wxs new file mode 100644 index 0000000..104265e --- /dev/null +++ b/install/interface/eiffelstudio/DialogSelectLanguage.wxs @@ -0,0 +1,44 @@ + + + + + + + + + [BigFont]Select a Default Language + + + [SubTitleFont]Please select a default language. + + + Select a default language for [ProductName] from the list below. All users will see [ProductName] in the selected language on first start up. + + + &Language: + + + + + + + + + + + + 1 + + + "1"]]> + + "1"]]> + + + 1 + + + + + + diff --git a/install/licenses/eiffelenvision/enterprise.rtf b/install/licenses/eiffelenvision/enterprise.rtf new file mode 100644 index 0000000..8db5709 --- /dev/null +++ b/install/licenses/eiffelenvision/enterprise.rtf @@ -0,0 +1,3 @@ +{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fswiss\fcharset0 Arial;}} +{\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\lang1033\f0\fs20 Your License goes here.\lang1031\par +} \ No newline at end of file diff --git a/install/licenses/eiffelenvision/free.rtf b/install/licenses/eiffelenvision/free.rtf new file mode 100644 index 0000000..8db5709 --- /dev/null +++ b/install/licenses/eiffelenvision/free.rtf @@ -0,0 +1,3 @@ +{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fswiss\fcharset0 Arial;}} +{\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\lang1033\f0\fs20 Your License goes here.\lang1031\par +} \ No newline at end of file diff --git a/install/licenses/eiffelstudio/enterprise.rtf b/install/licenses/eiffelstudio/enterprise.rtf new file mode 100644 index 0000000..0995765 --- /dev/null +++ b/install/licenses/eiffelstudio/enterprise.rtf @@ -0,0 +1,53 @@ +{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Trebuchet MS;}} +{\stylesheet{ Normal;}{\s1 heading 1;}} +{\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\qc\kerning28\b\f0\fs20 End User License Agreement\par +\i\fs18 EiffelStudio Integrated Development Environment, Enterprise Edition\par +\pard\kerning0\b0\i0\fs16\par +Carefully read all of the terms and conditions of this agreement prior to opening or downloading the software package, or starting its installation procedure. Opening or downloading the software package, or starting its installation procedure, indicates your acceptance of these terms and conditions. This software agreement governs your use of EiffelStudio Integrated Development Environment, Enterprise Edition (hereinafter referred to as EiffelStudio) from Interactive Software Engineering, Inc., a California Corporation with offices in Goleta, California 93117, doing business as Eiffel Software (hereinafter Eiffel Software). By using the enclosed EiffelStudio software package, you agree to the following terms and conditions; \par +\par +\pard\keepn\s1\sb240\sa60\tx360\kerning32\b\fs20 1.\tab GRANT OF LICENSE \par +\pard\kerning0\b0\fs16 Eiffel Software grants to you a nonexclusive, nontransferable temporary license to use EiffelStudio solely on the number of computer system(s) designated on your purchase order or invoice.\par +\par +\pard\keepn\s1\sb240\sa60\tx360\kerning32\b\fs20 2.\tab PERMITTED USES \par +\pard\fi-360\li720\tx720\kerning0\b0\fs16 a.\tab You may use the EiffelStudio software solely on the number of computer system(s) for which it is purchased. In addition, if the license is for a company of which you are an employee, you may use the EiffelStudio software on one personal (home or laptop) computer for each designated company computer system, provided that personal computer is used by the same user as the company computer, and not concurrently with it.\par +\pard\fi-360\li720 b.\tab You shall not make or distribute copies of the EiffelStudio software, or electronically transfer the EiffelStudio software from one computer to another or over a network. \par +c.\tab You may not alter, merge, modify, adapt or translate the EiffelStudio software, or decompile, reverse engineer, disassemble, or otherwise reduce the EiffelStudio software to a human-perceivable form. \par +d.\tab You shall not sell, rent, lease, or sublicense the EiffelStudio software. \par +e.\tab You shall not modify the EiffelStudio software or create derivative works based upon the EiffelStudio software. \par +\pard\par +\pard\keepn\s1\sb240\sa60\tx360\kerning32\b\fs20 3.\tab PROPERTY RIGHTS \par +\pard\fi-360\li720\tx720\kerning0\b0\fs16 a.\tab EiffelStudio is copyrighted by Eiffel Software and proprietary to Eiffel Software, and Eiffel Software remains title and ownership of EiffelStudio, and all copies of EiffelStudio, including the copy of EiffelStudio recorded on delivery media. \par +\pard\fi-360\li720 b.\tab This is not a sale of EiffelStudio or any copy. You agree to take all reasonable steps to protect EiffelStudio against unauthorized use or copy. You agree not to make copies of EiffelStudio or EiffelStudio documentation or part thereof other, except possibly as required by backup procedures compatible with industry standards and the enforcement of Eiffel Software's proprietary rights. You must reproduce and include any copyrights, trademark notices and the legends on the backup copy. You must maintain an accurate record of the location of the backup copy at all times.\par +\pard\par +\par +\pard\keepn\s1\sb240\sa60\tx360\kerning32\b\fs20 4.\tab LIMITED WARRANTY \par +\pard\kerning0\b0\fs16 The EiffelStudio software and user manuals are provided "as is" without warranty of any kind, either express or implied, including, but not limited to the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the EiffelStudio software and user manuals is with you. \par +\par +\pard\keepn\s1\sb240\sa60\tx360\kerning32\b\fs20 5.\tab EXPORT\par +\pard\fi-360\li720\tx720\kerning0\b0\fs16 a.\tab You shall not, without the prior written consent of Eiffel Software, transmit EiffelStudio directly or indirectly to any company inside or outside the United States. \par +\pard\fi-360\li720 b.\tab You hereby warrant to Eiffel Software that you have no intention to and will not, without prior written consent, if required, of the Office of Export Administration of the United States Department of Commerce, Washington, D.C. 20230 transmit directly or indirectly (i) EiffelStudio, or (ii) any immediate product (including services produced directly by use of EiffelStudio) to countries as prohibited by the U.S. Federal government. \par +\pard\par +\pard\keepn\s1\sb240\sa60\tx360\kerning32\b\fs20 6.\tab TERM \par +\pard\fi-360\li720\tx720\kerning0\b0\fs16 a.\tab The license is effective until terminated. You may terminate the license at any time by destroying the software and its documentation with all copies or modifications in any form. \par +\pard\fi-360\li720 b.\tab Upon providing you with thirty (30) days written notice, Eiffel Software may terminate all rights provided under this agreement upon your failure to fulfill any one or more of the terms, conditions and/or obligations imposed by this agreement. Said notice to you shall breach this agreement and you shall have a one (1) month period in which to cure any breach to the satisfaction of Eiffel Software. In the event the breach is not cured by you, you shall deliver to Eiffel Software all software and materials provided under this agreement, shall make all licensed software that may be stored in any storage unusable, and shall certify to Eiffel Software in writing that the same has been completed within that thirty (30) days period. Eiffel Software shall have no obligation to refund any monies paid under this agreement. \par +\pard\par +\pard\keepn\s1\sb240\sa60\tx360\kerning32\b\fs20 7.\tab NO OTHER RIGHTS \par +\pard\kerning0\b0\fs16 Eiffel Software warrants solely that it grants the rights as provided herein. No license or right relevant to any patent or trademark is herein to be construed as conferred upon you by Eiffel Software by implication or estoppels or any other basis. This is regardless as to whether the rights granted hereunder utilize invention within existing patent to be issued subsequent to the date of this agreement. \par +\par +\pard\keepn\s1\sb240\sa60\tx360\kerning32\b\fs20 8.\tab MISCELLANEOUS PROVISIONS \par +\pard\fi-360\li720\tx720\kerning0\b0\fs16 a.\tab All correspondence shall be directed to Eiffel Software at the following address: \par +\pard\par +\pard\tx1440\tab Customer Service Department\par +\tab Eiffel Software\par +\tab 5949 Hollister Avenue, Goleta, CA 93117 USA\par +\tab tel. (805) 685-1006, fax. (805) 685-6869\par +\tab or through the world-wide Web at http://support.eiffel.com\fs12\par +\pard\fs16\par +\pard\fi-360\li720\tx720 b.\tab This agreement shall succeed any previous agreement relevant to the subject between the parties and shall be controlling. \par +\pard\fi-360\li720 c.\tab The terms and conditions of this agreement shall be interpreted and enforced according to the laws of the State of California and shall be subject to the appropriate jurisdiction in and of the county of Santa Barbara, California, U.S.A. \par +\pard\par +\pard\keepn\s1\sb240\sa60\tx360\kerning32\b\fs20 9.\tab ACKNOWLEDGEMENT \par +\pard\kerning0\b0\fs16 By opening the software diskette, CD or tape package, or downloading the software package or starting the installation procedure, you acknowledge that you have read this agreement, understand it, and agree to be bound by its terms and conditions. You also agree that this agreement is the complete and exclusive statement of agreement between the parties and supersedes all proposals of prior agreements, oral or written, and any other communication between the parties relating to the subject matter of this agreement.\par +\par +} + diff --git a/install/licenses/eiffelstudio/gpl.rtf b/install/licenses/eiffelstudio/gpl.rtf new file mode 100644 index 0000000..a6de257 Binary files /dev/null and b/install/licenses/eiffelstudio/gpl.rtf differ diff --git a/install/licenses/eiffelstudio/university.rtf b/install/licenses/eiffelstudio/university.rtf new file mode 100644 index 0000000..0ca641e Binary files /dev/null and b/install/licenses/eiffelstudio/university.rtf differ diff --git a/install/package.sln b/install/package.sln new file mode 100644 index 0000000..da73c46 --- /dev/null +++ b/install/package.sln @@ -0,0 +1,37 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "package", "package.wixproj", "{01A951F7-BA79-4006-8629-27FFCB510FF0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + envision_x64|Any CPU = envision_x64|Any CPU + envision_x86|Any CPU = envision_x86|Any CPU + Release|Any CPU = Release|Any CPU + studio_ent_x64|x64 = studio_ent_x64|x64 + studio_ent_x86|x86 = studio_ent_x86|x86 + studio_gpl_x64|x64 = studio_gpl_x64|x64 + studio_gpl_x86|x86 = studio_gpl_x86|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {01A951F7-BA79-4006-8629-27FFCB510FF0}.Debug|Any CPU.ActiveCfg = studio_ent_x86|Any CPU + {01A951F7-BA79-4006-8629-27FFCB510FF0}.Debug|Any CPU.Build.0 = studio_ent_x86|Any CPU + {01A951F7-BA79-4006-8629-27FFCB510FF0}.envision_x64|Any CPU.ActiveCfg = envision_x64|Any CPU + {01A951F7-BA79-4006-8629-27FFCB510FF0}.envision_x64|Any CPU.Build.0 = envision_x64|Any CPU + {01A951F7-BA79-4006-8629-27FFCB510FF0}.envision_x86|Any CPU.ActiveCfg = envision_x86|Any CPU + {01A951F7-BA79-4006-8629-27FFCB510FF0}.envision_x86|Any CPU.Build.0 = envision_x86|Any CPU + {01A951F7-BA79-4006-8629-27FFCB510FF0}.Release|Any CPU.ActiveCfg = studio_ent_x86|Any CPU + {01A951F7-BA79-4006-8629-27FFCB510FF0}.Release|Any CPU.Build.0 = studio_ent_x86|Any CPU + {01A951F7-BA79-4006-8629-27FFCB510FF0}.studio_ent_x64|x64.ActiveCfg = studio_ent_x64|x64 + {01A951F7-BA79-4006-8629-27FFCB510FF0}.studio_ent_x64|x64.Build.0 = studio_ent_x64|x64 + {01A951F7-BA79-4006-8629-27FFCB510FF0}.studio_ent_x86|x86.ActiveCfg = studio_ent_x86|x86 + {01A951F7-BA79-4006-8629-27FFCB510FF0}.studio_ent_x86|x86.Build.0 = studio_ent_x86|x86 + {01A951F7-BA79-4006-8629-27FFCB510FF0}.studio_gpl_x64|x64.ActiveCfg = studio_gpl_x64|x64 + {01A951F7-BA79-4006-8629-27FFCB510FF0}.studio_gpl_x64|x64.Build.0 = studio_gpl_x64|x64 + {01A951F7-BA79-4006-8629-27FFCB510FF0}.studio_gpl_x86|x86.ActiveCfg = studio_gpl_x86|x86 + {01A951F7-BA79-4006-8629-27FFCB510FF0}.studio_gpl_x86|x86.Build.0 = studio_gpl_x86|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/install/package.wixproj b/install/package.wixproj new file mode 100644 index 0000000..01f009e --- /dev/null +++ b/install/package.wixproj @@ -0,0 +1,232 @@ + + + studio_ent_x86 + 3.0 + 2.0 + package + Package + C:\Program Files (x86)\Windows Installer XML v3\bin\ + package + {01a951f7-ba79-4006-8629-27ffcb510ff0} + + + bin\envision_x64\ + obj\envision_x64\ + x64;EiffelEnvision;IsePlatform=win64 + + + True + True + False + + + False + True + False + + + -1 + + + False + True + False + False + False + False + False + False + False + False + False + False + + + False + False + False + False + + + False + False + True + + + + + bin\envision_x86\ + obj\envision_x86\ + x86;EiffelEnvision;IsePlatform=windows + + + True + True + False + + + False + True + False + + + -1 + + + False + True + False + False + False + False + False + False + False + False + False + False + + + False + False + False + False + + + False + False + True + + + + + bin\studio_gpl_x64\ + bin\studio_gpl_x64\ + x64;EiffelStudio;IsePlatform=win64 + + + False + False + False + + + False + False + -reusecab -cc bin\studio_gpl_x64\cabs + + + bin\studio_gpl_x86\ + bin\studio_gpl_x86\ + x86;EiffelStudio;IsePlatform=windows + + + False + False + False + + + False + False + -reusecab -cc bin\studio_gpl_x86\cabs + + + bin\studio_ent_x64\ + bin\studio_ent_x64\ + x64;EiffelStudio;Enterprise;IsePlatform=win64 + + + False + False + False + + + False + False + + + bin\studio_ent_x86\ + bin\studio_ent_x86\ + x86;EiffelStudio;Enterprise;IsePlatform=windows + + + False + False + False + + + False + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install/redist/Redist.wxs b/install/redist/Redist.wxs new file mode 100644 index 0000000..deb52e7 --- /dev/null +++ b/install/redist/Redist.wxs @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/install/redist/redist.wixproj b/install/redist/redist.wixproj new file mode 100644 index 0000000..d888719 --- /dev/null +++ b/install/redist/redist.wixproj @@ -0,0 +1,82 @@ + + + x64 + 3.0 + {6dff62cf-b00e-41cd-85bc-11a80b49e2da} + 2.0 + Do Not Rename + Module + C:\Program Files (x86)\Windows Installer XML v3\bin\ + + + Redist64 + obj\x64\ + x64;EiffelEnvision;Source=c:\test_environment + + + False + False + False + + + False + False + bin\studio_gpl_64\ + + + Redist + obj\x86\ + Debug;x86;EiffelEnvision;Source=c:\test_environment + + + False + False + False + + + False + False + bin\studio_gpl_x86\ + + + Redist64 + obj\x64\ + x64;EiffelEnvision;Source=c:\test_environment + + + False + False + False + + + False + False + bin\studio_ent_x64\ + + + Redist + obj\x86\ + Debug;x86;EiffelEnvision;Source=c:\test_environment + + + False + False + False + + + False + False + bin\studio_ent_x86\ + + + + + + + + + + + + + diff --git a/make_delivery.btm b/make_delivery.btm new file mode 100644 index 0000000..4721aef --- /dev/null +++ b/make_delivery.btm @@ -0,0 +1,387 @@ +@echo off +setlocal + +REM Adding Wix to the path. +set PATH=%PATH;%@EXECSTR[cd]\wix +set OLD_PATH=%PATH +set OLD_EIFFEL_SRC=%EIFFEL_SRC +set OLD_ISE_LIBRARY=%ISE_LIBRARY +set OLD_ISE_SRC=%ISE_SRC +set INIT_DIR=%@EXECSTR[cd] +set TMP_ISE_EIFFEL=%ISE_EIFFEL + +call %~dp0inc\set_aliases.btm + +REM Create parent dir of %INSTALL_LOG if it does not exist. +set_parent_dir_of PDIR %INSTALL_LOG% +iff not isdir %PDIR then + md /S %PDIR + remtrace Create directory %PDIR +endiff + +remtrace Set up the environment + +on break goto broken +TIMER ON /1 >> NUL +TIMER ON /2 >> NUL +iff %@INDEX[%@LOWER[%$],h] ge 0 .or. %@INDEX[%@LOWER[%$],help] ge 0 then + echo Installation for ISE Eiffel . + echo Parameters are + echo - no_compile: to discard any compilation + echo - no_new_ec: to avoid compiling a new version of EiffelStudio + echo - enterprise: to build only the enterprise version of EiffelStudio + echo - no_wizards: to discard wizards building + echo - no_install: to generare only the delivery (but not the installation executable) + echo (or nothing to fully regenerate the installation). + CANCEL +endiff +iff %@INDEX[%@LOWER[%$],no_compil] ge 0 then + set NO_COMPILE="True" +else + unset /Q NO_COMPILE +endiff +iff %@INDEX[%@LOWER[%$],no_install] ge 0 then + set NO_INSTALL="True" +else + unset /Q NO_INSTALL +endiff +iff %@INDEX[%@LOWER[%$],no_new_ec] ge 0 then + set NO_NEW_EC="True" +else + unset /Q NO_NEW_EC +endiff +iff %@INDEX[%@LOWER[%$],enterprise] ge 0 then + set BUILD_ENTERPRISE_ONLY="True" +else + unset /Q BUILD_ENTERPRISE_ONLY +endiff +iff %@INDEX[%@LOWER[%$],no_wizard] ge 0 then + set NO_WIZARDS="True" +else + unset /Q NO_WIZARDS +endiff + +set EIFFEL_SRC=%TMP_EIFFEL_SRC +set ISE_LIBRARY=%TMP_EIFFEL_SRC +set ISE_SRC=%TMP_EIFFEL_SRC + +cdd %INIT_DIR + +REM This is not a comment, it should create a 0-sized log file. +REM > %INSTALL_LOG + +remtrace Approximative starting time: +remtrace %_TIME + +call inc\check_environment.btm +call inc\display_environment.btm +call inc\get_environment_confirmation.btm +if %ERRORLEVEL% == 0 CANCEL + +rem remtrace -------------------------------- +rem remtrace Installation parameters are: +rem remtrace - ISE_EIFFEL=%ISE_EIFFEL +rem remtrace - ISE_PLATFORM=%ISE_PLATFORM +rem remtrace - INSTALL_DIR=%INSTALL_DIR +rem remtrace - STUDIO_DIR=%STUDIO_DIR +rem remtrace -------------------------------- + +cdd %INIT_DIR + +give_time_to warm up +remtrace Retrieve and organize the delivery +remtrace Remove %INSTALL_DIR +if isdir %INSTALL_DIR nolog_fullrd %INSTALL_DIR +if exist %INSTALL_DIR nolog_fullrf %INSTALL_DIR +iff exist %INSTALL_DIR then + remtrace Cannot delete %INSTALL_DIR! + CANCEL +endiff +md %INSTALL_DIR +md %STUDIO_DIR +cdd %STUDIO_DIR +remtrace studio +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/studio studio +fullrd studio\help\defaults\unix +fullrd studio\spec\unix +cdd %STUDIO_DIR\studio\spec +move windows\compile_library.bat %ISE_PLATFORM\bin\ +move windows\mkdir.bat %ISE_PLATFORM\bin\ +iff "windows"=="%ISE_PLATFORM" then + fullrd win64 +else + fullrd windows +endiff +cdd %STUDIO_DIR\studio\config +if not "windows"=="%ISE_PLATFORM" ren windows %ISE_PLATFORM +cdd %STUDIO_DIR\studio\config\%ISE_PLATFORM%\ +xcopy msc msc_vc140 /E /I + +safe_md %STUDIO_DIR\tools +cdd %STUDIO_DIR\tools +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/tools/iron/delivery/iron iron +cdd %STUDIO_DIR\tools\iron\spec +if not "windows"=="%ISE_PLATFORM" ren windows %ISE_PLATFORM +fullrd unix + +cdd %STUDIO_DIR\studio\lang +fullrd po_files +fullrd script +cdd %STUDIO_DIR +remtrace esbuilder +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/esbuilder esbuilder +remtrace vision2 tour +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/vision2_demo vision2_demo +remtrace examples +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/examples examples +cd examples +fullrd obsolete +fullrd eiffeltest +fullrd iphone +fullrd libevent +fullrd math +fullrd matisse +fullrd store\matisse +fullrd old_com +fullrd old_matisse +fullrd vision +fullrd build +cd dotnet +fullrd envision +fullrd winforms\data\simple_binding +cd .. +cd vision2 +fullrd Boxes +fullrd drawing_area +fullrd ev_list +fullrd fake_event +fullrd figure +fullrd hello_world +fullrd menu +fullrd multicolumn_list +fullrd pixmap +fullrd split_area +fullrd test_all_widgets +fullrd test_events +fullrd tests +fullrd tutorial +fullrd widget_test +cd .. +cd .. +remtrace precomp +safe_md %STUDIO_DIR\experimental +safe_md %STUDIO_DIR\experimental\precomp +safe_md %STUDIO_DIR\experimental\precomp\spec +cd %STUDIO_DIR\experimental\precomp\spec +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/precomp/spec/platform %ISE_PLATFORM +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/precomp/spec/dotnet %ISE_PLATFORM-dotnet +cdd %ISE_PLATFORM +fullrf *-safe.ecf +cdd ..\%ISE_PLATFORM-dotnet +fullrf *-safe.ecf +safe_md %STUDIO_DIR\precomp +safe_md %STUDIO_DIR\precomp\spec +cd %STUDIO_DIR\precomp\spec +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/precomp/spec/platform %ISE_PLATFORM +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/precomp/spec/dotnet %ISE_PLATFORM-dotnet +cdd %STUDIO_DIR +remtrace wizards +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery/wizards wizards +fullrf %STUDIO_DIR\studio\wizards\new_projects\wizard.dsc +fullrd %STUDIO_DIR\studio\wizards\new_projects\wizard +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/help/wizards/ewf/rootdir %STUDIO_DIR\studio\wizards\new_projects\ewf +move %STUDIO_DIR\studio\wizards\new_projects\ewf\ewf.dsc %STUDIO_DIR\studio\wizards\new_projects\ewf.dsc + +remtrace C_library +safe_md %STUDIO_DIR\C_library +cdd %STUDIO_DIR\C_library +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/C_library/libpng libpng +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/C_library/zlib zlib +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/C_library/curl curl +cdd %STUDIO_DIR +remtrace root +exprt -N -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/Delivery Delivery +move Delivery\*.* . >>& %INSTALL_LOG +fullrd Delivery >>& %INSTALL_LOG +fullrf INSTALL README make_install compile_libraries +remtrace eweasel (just the necessary) +exprt -N -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/eweasel eweasel +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/eweasel/bin eweasel/bin +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/eweasel/control eweasel/control +fullrf %STUDIO_DIR\eweasel\INSTALL + +remtrace MinGW files +cdd %STUDIO_DIR +safe_md gcc +cd gcc +exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/free_add_ons/gcc/%ISE_PLATFORM% %ISE_PLATFORM% + +remtrace Create directories +cdd %STUDIO_DIR +safe_md %STUDIO_DIR\studio\spec +safe_md %STUDIO_DIR\studio\spec\%ISE_PLATFORM +safe_md %STUDIO_DIR\esbuilder\spec +safe_md %STUDIO_DIR\esbuilder\spec\%ISE_PLATFORM +safe_md %STUDIO_DIR\esbuilder\spec\%ISE_PLATFORM\bin +safe_md %STUDIO_DIR\vision2_demo\spec +safe_md %STUDIO_DIR\vision2_demo\spec\%ISE_PLATFORM +safe_md %STUDIO_DIR\vision2_demo\spec\%ISE_PLATFORM\bin +safe_md %STUDIO_DIR\wizards +safe_md %STUDIO_DIR\wizards\com +safe_md %STUDIO_DIR\wizards\com\config +safe_md %STUDIO_DIR\studio\spec\%ISE_PLATFORM\include +safe_md %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib +safe_md %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\msc +safe_md %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\msc_vc140 +safe_md %STUDIO_DIR\studio\spec\%ISE_PLATFORM\lib\mingw +safe_md %STUDIO_DIR\rb + +give_time_to organize the delivery and to start filling it + +remtrace Checkout all the libraries +cdd %INIT_DIR +call inc\make_libraries.btm %STUDIO_DIR library +cdd %INIT_DIR +call inc\make_libraries.btm %STUDIO_DIR\experimental experimental/library +cdd %INIT_DIR +call inc\make_other_libraries.btm %STUDIO_DIR + +remtrace Compile C code of Eiffel Software C libraries +cdd %INIT_DIR + +call %INIT_DIR\inc\set_has_c_compiler HAS_VC140 VC140 +iff defined ISE_C_COMPILER_VER .and. %ISE_C_COMPILER_VER% != "VC140" then + call %INIT_DIR\inc\set_has_c_compiler HAS_C_COMP_VER %ISE_C_COMPILER_VER +else + set "HAS_C_COMP_VER=False" +endiff + +iff %HAS_VC140% == "True" then + call espawn -u:VC140 "%COMSPEC% /c inc\compile_c_libraries.btm %STUDIO_DIR msc_vc140" +endiff +iff %HAS_C_COMP_VER% == "True" then + cdd %INIT_DIR + call espawn -u:%ISE_C_COMPILER_VER% "%COMSPEC% /c inc\compile_c_libraries.btm %STUDIO_DIR msc" +endiff +cdd %INIT_DIR +call inc\compile_c_libraries.btm %STUDIO_DIR mingw + +cdd %INIT_DIR +iff %HAS_VC140% == "True" then + call espawn -u:VC140 "%COMSPEC% /c inc\compile_c_libraries.btm %STUDIO_DIR\experimental msc_vc140" +endiff +iff %HAS_C_COMP_VER% == "True" then + cdd %INIT_DIR + espawn -u:%ISE_C_COMPILER_VER% "%COMSPEC% /c inc\compile_c_libraries.btm %STUDIO_DIR\experimental msc" +endiff +cdd %INIT_DIR +call inc\compile_c_libraries.btm %STUDIO_DIR\experimental mingw + + +remtrace Build the C libraries of non-Eiffel Software C libraries +cdd %INIT_DIR +iff %HAS_VC140% == "True" then + espawn -u:VC140 "%COMSPEC% /c inc\compile_other_c_libraries.btm %STUDIO_DIR msc_vc140" +endiff +iff %HAS_C_COMP_VER% == "True" then + cdd %INIT_DIR + espawn -u:%ISE_C_COMPILER_VER% "%COMSPEC% /c inc\compile_other_c_libraries.btm %STUDIO_DIR msc" +endiff +cdd %INIT_DIR +call inc\compile_other_c_libraries.btm %STUDIO_DIR mingw + +cdd %INIT_DIR + +REM Fill directories +iff not defined NO_COMPILE then + remtrace Update all libraries + iff isdir %EIFFEL_SRC then + remtrace Delete %EIFFEL_SRC + fullrd %EIFFEL_SRC + endiff + safe_md %EIFFEL_SRC + + REM Clean up the files + remtrace Update all source files. + cdd %EIFFEL_SRC\.. + co -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src %EIFFEL_SRC + + remtrace ISE specific files + cdd %EIFFEL_SRC + co %DEFAULT_ISE_SVN/Src/library/keygen library/keygen + cd tools + co %DEFAULT_ISE_SVN/Src/tools/activation activation + co %DEFAULT_ISE_SVN/Src/tools/estudio_enterprise estudio_enterprise + + remtrace Build the normal libraries + cdd %INIT_DIR + call inc\update_libraries.btm %EIFFEL_SRC + remtrace Build the experimental libraries + cdd %INIT_DIR + call inc\update_libraries.btm %EIFFEL_SRC\experimental + + cdd %INIT_DIR + give_time_to update libraries + + remtrace Generate needed executables of the bin directory + call inc\make_exes.btm + cdd %INIT_DIR + give_time_to compile exes + + iff not defined NO_WIZARDS then + remtrace Generate the precompilation and the "new project" wizards + call inc\make_wizards.btm + cdd %INIT_DIR + give_time_to compile basic wizards + + remtrace Generate the COM wizard + call inc\make_com_wizard.btm + cdd %INIT_DIR + give_time_to compile the COM wizard + else + quick_move /s studio\wizards + quick_move /s wizards + endiff + + cdd %INIT_DIR + + remtrace Generate Resource Bench + call inc\make_rb.btm + cdd %INIT_DIR + give_time_to compile Resource Bench +else + remtrace Copy executable files from the old delivery + quick_move /s studio\spec + quick_move /s studio\wizards + quick_move /s rb + quick_move /s wizards + cdd %STUDIO_DIR + give_time_to copy executables from the old delivery +endiff + +cdd %INIT_DIR + +iff not defined NO_INSTALL then + iff defined ISE_C_COMPILER_VER then + call %INIT_DIR\inc\set_has_c_compiler HAS_C_COMP_VER %ISE_C_COMPILER_VER + else + set "HAS_C_COMP_VER=False" + endiff + iff defined ISE_C_COMPILER_VER .and. %HAS_C_COMP_VER% == "True" then + espawn -u:%ISE_C_COMPILER_VER% "%COMSPEC% /c make_installations.btm" + else + espawn "%COMSPEC% /c make_installations.btm" + endiff + cdd %INIT_DIR +endiff + +REM Finish +remtrace final time: +remtrace %_TIME +remtrace total used time: +remtrace %@TIMER[2] + +REM Error handling and normal ending +:broken +CANCEL + diff --git a/make_installations.btm b/make_installations.btm new file mode 100644 index 0000000..85804f1 --- /dev/null +++ b/make_installations.btm @@ -0,0 +1,132 @@ +@echo off + + +iff not defined INIT_DIR then + set INIT_DIR=%@EXECSTR[cd] +endiff +iff not defined INSTALL_LOG then + set INSTALL_LOG=%INIT_DIR%\install.log +endiff + +call %INIT_DIR%\inc\set_simple_aliases.btm + +iff not defined INSTALL_DIR then + echo INSTALL_DIR not defined + CANCEL +endiff + + +set SVN_VERSION=%@EXECSTR[get_version %EIFFEL_SRC] + +cdd %INIT_DIR\install +safe_md %INIT_DIR\install\bin +iff .%ISE_PLATFORM%.==.win64. then + set IS_WIN64=yes + set WINNAME=x64 +else + set IS_WIN64=no + set WINNAME=x86 +endiff + +iff .%1.==.. then + remtrace --------------------------------------------- + remtrace Checkout and compile the hallow tool + remtrace --------------------------------------------- + + cdd %EIFFEL_SRC\tools + co -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/tools/hallow hallow + cd %EIFFEL_SRC\tools\hallow + clean_project + finalize hallow.ecf + cleanup_dotnet_eiffel hallow hallow.exe + iff not exist libhallow.dll then + remtrace Couldnt generate hallow.exe + CANCEL + else + move hallow.exe %INIT_DIR\install\bin + move libhallow.dll %INIT_DIR\install\bin + move eiffelsoftware.runtime.dll %INIT_DIR\install\bin + endiff + + remtrace -------------------------------------------------- + remtrace Recompile Custom actions for installation program + remtrace -------------------------------------------------- + + cdd %EIFFEL_SRC + cd tools + co %DEFAULT_ISE_SVN/Src/tools/setup setup + cd %EIFFEL_SRC\tools\setup\studio + clean_project + finalize setup.ecf + cleanup_eiffel setup setup.dll + iff not exist setup.dll then + remtrace Couldnt generate setup.dll + QUIT + CANCEL + endiff + safe_md %INIT_DIR\install\binaries + safe_md %INIT_DIR\install\binaries\%WINNAME + move setup.dll %INIT_DIR\install\binaries\%WINNAME +endiff + +remtrace ---------------------------------------------- +remtrace Building the MSIs +remtrace ---------------------------------------------- + +cdd %INIT_DIR\install\content\eiffelstudio +safe_md %INSTALL_DIR\setups +safe_md %INSTALL_DIR\setups\gpl +safe_md %INSTALL_DIR\setups\enterprise + +remtrace Creating WIX files +nmake /nologo clean +nmake /nologo + +remtrace Preparing GPL edition +nmake /nologo gpl_%WINNAME +copy %INIT_DIR\install\bin\studio_gpl_%WINNAME\package.msi %INSTALL_DIR\setups\gpl\%STUDIO_NAME%_gpl_%SVN_VERSION-%ISE_PLATFORM%.msi + +remtrace Preparing Commercial edition +nmake /nologo enterprise_%WINNAME +copy %INIT_DIR\install\bin\studio_ent_%WINNAME\package.msi %INSTALL_DIR\setups\enterprise\%STUDIO_NAME%_ent_%SVN_VERSION-%ISE_PLATFORM%.msi + +remtrace ---------------------------------------------- +remtrace Building the Zips +remtrace ---------------------------------------------- +cdd %INSTALL_DIR +ren EiffelStudio %STUDIO_NAME% + +copy %INSTALL_DIR\releases\gpl_version\ec.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin +copy %INSTALL_DIR\releases\gpl_version\ecb.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin +iff exist %INSTALL_DIR\releases\gpl_version\LICENSE then + copy %INSTALL_DIR\releases\gpl_version\LICENSE %INSTALL_DIR\%STUDIO_NAME%\LICENSE +else + remtrace Missing GPL license text +endiff +7z a -t7z %INSTALL_DIR\setups\gpl\%STUDIO_NAME%_gpl_%SVN_VERSION-%ISE_PLATFORM%.7z %STUDIO_NAME% -mx9 >>& %INSTALL_LOG + +copy %INSTALL_DIR\releases\enterprise_version\ec.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin +copy %INSTALL_DIR\releases\enterprise_version\ecb.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin +iff exist %INSTALL_DIR\releases\enterprise_version\LICENSE then + copy %INSTALL_DIR\releases\enterprise_version\LICENSE %INSTALL_DIR\%STUDIO_NAME%\LICENSE +else + remtrace Missing Enterprise license text +endiff +7z a -t7z %INSTALL_DIR\setups\enterprise\%STUDIO_NAME%_ent_%SVN_VERSION-%ISE_PLATFORM%.7z %STUDIO_NAME% -mx9 >>& %INSTALL_LOG + +remtrace Restoring the layout to its original state +cdd %INSTALL_DIR +ren %STUDIO_NAME% EiffelStudio + +remtrace Uploading packages online +cdd %INSTALL_DIR\setups\gpl +scp %STUDIO_NAME%_gpl_%SVN_VERSION%-%ISE_PLATFORM%.msi manus@eiffel.com:builds/nightly/ +ssh manus@eiffel.com chmod 444 builds/nightly/%STUDIO_NAME%_gpl_%SVN_VERSION%-%ISE_PLATFORM%.msi +scp %STUDIO_NAME%_gpl_%SVN_VERSION%-%ISE_PLATFORM%.7z manus@eiffel.com:builds/nightly/ +ssh manus@eiffel.com chmod 444 builds/nightly/%STUDIO_NAME%_gpl_%SVN_VERSION%-%ISE_PLATFORM%.7z + +fullrf %INSTALL_DIR\EiffelStudio\studio\spec\%ISE_PLATFORM%\bin\ec.exe +fullrf %INSTALL_DIR\EiffelStudio\studio\spec\%ISE_PLATFORM%\bin\ecb.exe + +remtrace Your deliveries are now ready +cdd %INIT_DIR diff --git a/set_version.bat b/set_version.bat new file mode 100644 index 0000000..7cda9e4 --- /dev/null +++ b/set_version.bat @@ -0,0 +1,40 @@ +@echo off +rem Set Version +rem %1 : svn wc path +rem %2 : 0000 +rem %3 : filename.e +setlocal +set SVNWCT=%1 +set REVVAL=%2 +set EFILE=%3 +set EFILE_TMP=%EFILE%.tmp +set LC_MESSAGES=C + +svn info %SVNWCT% > %EFILE_TMP% +For /f "tokens=1-4 delims=/ " %%a in ('findstr /L /B /C:"Last Changed Rev" %EFILE_TMP%') do (set LASTREV=%%d) +del /E /Q %EFILE_TMP% +if .%LASTREV%. == .. set LASTREV=%REVVAL% -- Script was unable to set this value + +if .%EFILE%. == .. GOTO DISPLAY_SVN_REVISION + +REM echo Set version: LASTREV=%LASTREV% +svn revert %EFILE% +sed -e "s/:= %REVVAL%/:= %LASTREV%/" %EFILE% > %EFILE_TMP% +move /E .Q %EFILE_TMP% %EFILE% + +REM update the version_info ... +For /f "tokens=1-4 delims=/ " %%a in ('date /U /T') do (set CURRDATE=%%a %%b) +For /f "tokens=1-4 delims=/ " %%a in ('time /U /T') do (set CURRTIME=%%a) + +sed -e "s/Version_info:\ STRING\ =\ \"[0-9a-zA-Z_\,\ \/\:()\.\=\-]*\"/Version_info:\ STRING\ =\ \"Revision:\ %LASTREV% , Compilation:\ %CURRDATE%\ %CURRTIME% , Builder:\ %USERNAME%\"/g" %EFILE% > %EFILE_TMP% +move /E /Q %EFILE_TMP% %EFILE% +goto END + +:DISPLAY_SVN_REVISION +echo %LASTREV% +goto END + +:END + +endlocal +@echo on