Difference between revisions of "Automatic Build Scripts"

(Based on geant)
Line 27: Line 27:
 
  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 (in 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 of the build directory should be removed.
+
* 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
  

Revision as of 01:32, 11 June 2007

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://eiffelsoftware.origo.ethz.ch/svn/es/trunk trunk
set EIFFEL_SRC to point to this path

And then use the geant script located under trunk/Src/scripts/build.eant
geant -b $EIFFEL_SRC/scripts/build.eant build_es

This will create in the current directory a delivery in the EiffelXX. 
You just need to point ISE_EIFFEL to this location to have a working EiffelStudio 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.

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:

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.