Difference between revisions of "CDDHowtoRollARelease"
(→Update version number) |
|||
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:CDD]] | [[Category:CDD]] | ||
+ | == Update version number == | ||
+ | * geant -b $EIFFEL_SRC/Src/scripts/geant/build.eant set_ec_version | ||
+ | * geant -b $EIFFEL_SRC/Src/scripts/geant/build.eant set_esbuilder_version | ||
+ | |||
+ | == List of CDD specific files == | ||
+ | The following files have to be overwritten or added to a stock EiffelStudio release: | ||
+ | * ec(.exe) -> $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin | ||
+ | * Src/library/base/ise/support/cdd -> $ISE_EIFFEL/library/base/ise/support/cdd | ||
+ | * Src/examples/cdd -> $ISE_EIFFEL/examples/cdd | ||
+ | * Delivery/studio/help/defaults -> $ISE_EIFFEL/studio/help/defaults | ||
+ | * Delivery/studio/bitmaps/png/16x16.png -> $ISE_EIFFEL/studio/bitmaps/png/16x16.png | ||
+ | * Delivery/studio/bitmaps/png/splash_shadow.png -> $ISE_EIFFEL/studio/bitmaps/png/splash_shadow.png | ||
+ | * Delivery/studio/bitmaps/png/splash.png -> $ISE_EIFFEL/studio/bitmaps/png/splash.png | ||
+ | * [For Windows Only] estudio.exe -> $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin | ||
+ | RUNTIME patch | ||
+ | * eif_except.h, eif_types.h: Src/C/run-time -> $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/include/ | ||
+ | * Windows: finalized.lib, mtfinalized.lib, mtwkbench.lib, wkbench.lib: Src/C/run-time/LIB -> $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/lib(/msc)/ | ||
+ | * Linux: libfinalized.a, libmtfinalized.a, libmtwkbench.a, libwkbench.a: Src/C/run-time/ -> $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/lib/ | ||
+ | (NOTE: the libs mentioned above can be build with the geant script, geant -b %EIFFEL_SRC%/build.eant prepare) | ||
+ | |||
+ | == How to roll a release on Windows == | ||
* prepare some directory <INSTALL_DIR> like this: | * prepare some directory <INSTALL_DIR> like this: | ||
− | ** INSTALL_DIR/EiffelStudio | + | ** create 3 subdirectories <INSTALL_DIR>/EiffelStudio, <INSTALL_DIR>/gcc, <INSTALL_DIR>/releases. Fill them according to the following description |
− | ** INSTALL_DIR/gcc | + | *** [<INSTALL_DIR>/EiffelStudio] has to contain a complete delivery without the ec.exe binaries. Without a working delivery script, this can be achieved by "patching" an official installation: |
− | ** INSTALL_DIR/releases | + | **** copy the contents of the installation directory of a fresh offcial installation into <INSTALL_DIR>/EiffelStudio (fresh = NO EIFGENs produced. To be sure, uninstall the official version if alrady existing, manually delete the remains in the installation directory, and reinstall it WITHOUT building any precompilations) |
− | ** INSTALL_DIR/releases/enterprise_version/ec.exe (take the same ec.exe, it's a dummy for | + | **** Remove the ec.exe from <INSTALL_DIR>/EiffelStudio/studio/spec/windows/bin |
+ | **** Replace/Add the cdd specific files (see list above). Watch out for the proper place to add/replace them (the above list is svn-specific) | ||
+ | *** [<INSTALL_DIR>/gcc] needs to contain content of <svn-eiffel-branch>/free_add_ons/gcc | ||
+ | *** [<INSTALL_DIR>/releases] needs to contain the ec.exe binaries (the cdd versions of course) | ||
+ | **** <INSTALL_DIR>/releases/gpl_version/ needs to contain ec.exe | ||
+ | **** <INSTALL_DIR>/releases/enterprise_version/ needs to contain ec.exe (take the same ec.exe, it's a dummy for using the scripts later on) | ||
− | * let env variable INSTALL_DIR point to | + | * let env variable %INSTALL_DIR% point to the <INSTALL_DIR> |
− | * let env variable INIT_DIR point to | + | * let env variable %INIT_DIR% point to the <svn-eiffel-branch>/Delivery/scripts/windows folder |
− | * finalize the "hallow" tool (Src/tools/hallow/hallow.ecf) | + | * finalize the "hallow" tool (<svn-eiffel-branch>/Src/tools/hallow/hallow.ecf) |
− | * create if not exists directory INIT_DIR/install/bin | + | * create if not exists directory %INIT_DIR%/install/bin |
− | * copy content of Src/tools/hallow/EIFGENs/hallow/F_code to INIT_DIR/install/bin | + | * copy content of <svn-eiffel-branch>/Src/tools/hallow/EIFGENs/hallow/F_code to INIT_DIR/install/bin |
− | * get a proper setup.dll (from manus probably) and put it into INIT_DIR/install/binaries/x86/ | + | * create if not exists directory %INIT_DIR%/install/binaries/x86 |
− | + | * get a proper setup.dll (from manus probably, or build yourself, instructions for this will be added soon) and put it into %INIT_DIR%/install/binaries/x86/ | |
− | * start command line, go to INIT_DIR/install/content/eiffelstudio and run: | + | * start command line, go to %INIT_DIR%/install/content/eiffelstudio and run: |
** nmake /nologo clean | ** nmake /nologo clean | ||
** nmake /nologo | ** nmake /nologo | ||
** nmake /nologo gpl_x86 | ** nmake /nologo gpl_x86 | ||
* wait some minutes .... and pray :-) | * wait some minutes .... and pray :-) |
Latest revision as of 09:58, 15 July 2014
Update version number
- geant -b $EIFFEL_SRC/Src/scripts/geant/build.eant set_ec_version
- geant -b $EIFFEL_SRC/Src/scripts/geant/build.eant set_esbuilder_version
List of CDD specific files
The following files have to be overwritten or added to a stock EiffelStudio release:
- ec(.exe) -> $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin
- Src/library/base/ise/support/cdd -> $ISE_EIFFEL/library/base/ise/support/cdd
- Src/examples/cdd -> $ISE_EIFFEL/examples/cdd
- Delivery/studio/help/defaults -> $ISE_EIFFEL/studio/help/defaults
- Delivery/studio/bitmaps/png/16x16.png -> $ISE_EIFFEL/studio/bitmaps/png/16x16.png
- Delivery/studio/bitmaps/png/splash_shadow.png -> $ISE_EIFFEL/studio/bitmaps/png/splash_shadow.png
- Delivery/studio/bitmaps/png/splash.png -> $ISE_EIFFEL/studio/bitmaps/png/splash.png
- [For Windows Only] estudio.exe -> $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin
RUNTIME patch
- eif_except.h, eif_types.h: Src/C/run-time -> $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/include/
- Windows: finalized.lib, mtfinalized.lib, mtwkbench.lib, wkbench.lib: Src/C/run-time/LIB -> $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/lib(/msc)/
- Linux: libfinalized.a, libmtfinalized.a, libmtwkbench.a, libwkbench.a: Src/C/run-time/ -> $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/lib/
(NOTE: the libs mentioned above can be build with the geant script, geant -b %EIFFEL_SRC%/build.eant prepare)
How to roll a release on Windows
- prepare some directory <INSTALL_DIR> like this:
- create 3 subdirectories <INSTALL_DIR>/EiffelStudio, <INSTALL_DIR>/gcc, <INSTALL_DIR>/releases. Fill them according to the following description
- [<INSTALL_DIR>/EiffelStudio] has to contain a complete delivery without the ec.exe binaries. Without a working delivery script, this can be achieved by "patching" an official installation:
- copy the contents of the installation directory of a fresh offcial installation into <INSTALL_DIR>/EiffelStudio (fresh = NO EIFGENs produced. To be sure, uninstall the official version if alrady existing, manually delete the remains in the installation directory, and reinstall it WITHOUT building any precompilations)
- Remove the ec.exe from <INSTALL_DIR>/EiffelStudio/studio/spec/windows/bin
- Replace/Add the cdd specific files (see list above). Watch out for the proper place to add/replace them (the above list is svn-specific)
- [<INSTALL_DIR>/gcc] needs to contain content of <svn-eiffel-branch>/free_add_ons/gcc
- [<INSTALL_DIR>/releases] needs to contain the ec.exe binaries (the cdd versions of course)
- <INSTALL_DIR>/releases/gpl_version/ needs to contain ec.exe
- <INSTALL_DIR>/releases/enterprise_version/ needs to contain ec.exe (take the same ec.exe, it's a dummy for using the scripts later on)
- [<INSTALL_DIR>/EiffelStudio] has to contain a complete delivery without the ec.exe binaries. Without a working delivery script, this can be achieved by "patching" an official installation:
- create 3 subdirectories <INSTALL_DIR>/EiffelStudio, <INSTALL_DIR>/gcc, <INSTALL_DIR>/releases. Fill them according to the following description
- let env variable %INSTALL_DIR% point to the <INSTALL_DIR>
- let env variable %INIT_DIR% point to the <svn-eiffel-branch>/Delivery/scripts/windows folder
- finalize the "hallow" tool (<svn-eiffel-branch>/Src/tools/hallow/hallow.ecf)
- create if not exists directory %INIT_DIR%/install/bin
- copy content of <svn-eiffel-branch>/Src/tools/hallow/EIFGENs/hallow/F_code to INIT_DIR/install/bin
- create if not exists directory %INIT_DIR%/install/binaries/x86
- get a proper setup.dll (from manus probably, or build yourself, instructions for this will be added soon) and put it into %INIT_DIR%/install/binaries/x86/
- start command line, go to %INIT_DIR%/install/content/eiffelstudio and run:
- nmake /nologo clean
- nmake /nologo
- nmake /nologo gpl_x86
- wait some minutes .... and pray :-)