Difference between revisions of "Automatic Build Scripts"
(Replaced origo.ethz.ch by eiffel.com in SVN URL) |
|||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Compiler]] | [[Category:Compiler]] | ||
− | [[Category: | + | [[Category:Build Scripts]] |
This page references different build scripts that automate the process of building EiffelStudio. | This page references different build scripts that automate the process of building EiffelStudio. | ||
Line 6: | Line 6: | ||
== Based on geant == | == Based on geant == | ||
* To build a working delivery out of the trunk source code | * To build a working delivery out of the trunk source code | ||
− | svn checkout https:// | + | svn checkout https://svn.eiffel.com/eiffelstudio/trunk trunk |
− | set EIFFEL_SRC to point to this path | + | set EIFFEL_SRC to point to this path trunk/Src |
− | + | Geant executable is located at $ISE_EIFFEL/gobo/spec/$ISE_PLATFORM/bin. You can simply run command | |
− | + | ||
− | + | geant | |
− | + | ||
− | + | in top level of $EIFFEL_SRC folder, then geant will print: | |
+ | <code> | ||
+ | usage: | ||
+ | geant check_setup Check if your setup is ok for compilation | ||
+ | geant clean Clean up the folders | ||
+ | geant clobber Clean, and delete generated files in folders | ||
+ | geant prepare Prepare folders for development on `ec' | ||
+ | Note: folders=runtime, il runtime, C_library, | ||
+ | library, framework. | ||
+ | geant compile Compile 'ec' finalized | ||
+ | geant compile_workbench Compile 'ec' workbench | ||
+ | ---- | ||
+ | geant make_delivery Build a complete delivery | ||
+ | |||
+ | defines: | ||
+ | -Dcompile_dir=PATH Build intermediate binaries in PATH | ||
+ | </code> | ||
+ | So all you need to do is: | ||
+ | <code> | ||
+ | geant check_setup | ||
+ | geant prepare | ||
+ | geant make_delivery | ||
+ | </code> | ||
* Warnings: | * Warnings: | ||
Line 27: | Line 49: | ||
However, the scripts are working and can be helpful to build EiffelStudio without too much trouble. | However, the scripts are working and can be helpful to build EiffelStudio without too much trouble. | ||
− | * Note: If there are built executables in the build folder ( | + | * Note: If there are built executables in the build folder (subfolder bin/), these executables are used for the delivery instead of recompiling from source. To make sure that the Delivery is built from scratch, the 'bin/' - folder should be removed from the build directory. |
* If ever you have feedback, or comment, or anything, you can contact Jocelyn : mailto:jfiat@eiffel.com | * If ever you have feedback, or comment, or anything, you can contact Jocelyn : mailto:jfiat@eiffel.com | ||
Latest revision as of 12:12, 4 June 2012
This page references different build scripts that automate the process of building EiffelStudio.
Platform independent
Based on geant
- To build a working delivery out of the trunk source code
svn checkout https://svn.eiffel.com/eiffelstudio/trunk trunk set EIFFEL_SRC to point to this path trunk/Src
Geant executable is located at $ISE_EIFFEL/gobo/spec/$ISE_PLATFORM/bin. You can simply run command
geant
in top level of $EIFFEL_SRC folder, then geant will print:
usage: geant check_setup Check if your setup is ok for compilation geant clean Clean up the folders geant clobber Clean, and delete generated files in folders geant prepare Prepare folders for development on `ec' Note: folders=runtime, il runtime, C_library, library, framework. geant compile Compile 'ec' finalized geant compile_workbench Compile 'ec' workbench ---- geant make_delivery Build a complete delivery defines: -Dcompile_dir=PATH Build intermediate binaries in PATH
So all you need to do is:
geant check_setup geant prepare geant make_delivery
- Warnings:
The scripts are not fully tested, and may not be very well written for now (it contains unfinished code .. especially regarding setup building) On Windows: - It may have issue with dotnet (windows) - It requires: sed, tar, and bash (for runtime). You can use cygwin for that. - Extracting the Gobo library may crash "tar" ... need to check On linux: - You need to answer a few questions, mostly for runtime configuration However, the scripts are working and can be helpful to build EiffelStudio without too much trouble.
- Note: If there are built executables in the build folder (subfolder bin/), these executables are used for the delivery instead of recompiling from source. To make sure that the Delivery is built from scratch, the 'bin/' - folder should be removed from the build directory.
- If ever you have feedback, or comment, or anything, you can contact Jocelyn : mailto:jfiat@eiffel.com
Windows
Bernardo Buss created a set of scripts for the automated compilation of EiffelStudio under Windows.
- Script: http://homepage.hispeed.ch/barnski/EiffelStudio_batch_files.zip
- Announcement: http://origo.ethz.ch/pipermail/es-devel/2006-April/000052.html
Note:
- You may need to keep "2_checkout_dev.bat" up to date by yourself according to Checking out from SVN.
- It is possible that the batchfiles only work partial with EiffelStudio newer than version 5.7.0826 (especially parts of the compilation process may differ too much).
Update:
- Philipp Bönhof improved the scripts with customizable parameters which should work with the newest pre-release of EiffelStudio. Download here: http://n.ethz.ch/student/pboenhof/autotest/eiffel_win_compilation_scripts.zip (updated: 2006-09-06)
Linux
Bernd Schoeller has developed a build script vor use with .acex configuration files. it is available for download at http://se.inf.ethz.ch/people/schoeller/download/build-ec-acex
For use with the new .ecf configuration files, please use this updated version:
http://n.ethz.ch/~bherlig/download/build-ec-ecf.sh
This script requires a single checkout from the SVN repository (with the EIFFEL_SVN environment variable pointing to it). It will compile the bench or the batch compiler (you need to modify the script for the second).
Gentoo
Ebuilds and installation instructions can be found here
Mac OSX
Now that Mac builds are available, I guess you can use the Linux script on Mac OS, too. I prefer this more simple script though:
#!/bin/bash cd $EIFFEL_SRC/C make clobber ./quick_configure cd $EIFFEL_SRC/library/event/Clib finish_freezing -library cd $EIFFEL_SRC/library/net/Clib finish_freezing -library cd $EIFFEL_SRC/library/vision2/Clib finish_freezing -library cd $EIFFEL_SRC/library/vision2/implementation/gtk/Clib finish_freezing -library cd $EIFFEL_SRC/Eiffel/Ace ec -config ec.ecf -target bench -finalize -c_compile
This basically automates the steps described here.