https://svn.lrde.epita.fr/svn/lrde-tools/trunk/build-farm
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Compile olena-1.0 and olena-proto-1.0 with icpc.
* buildfarm_worker/brasilia.fns: Compile olena-1.0 and
olena-proto-1.0 with icpc.
(init_icc_vars, test_olena_tree): New functions.
Use them to factor redundant parts of the script.
brasilia.fns | 118 ++++++++++++++++++++++++++++++++---------------------------
1 file changed, 64 insertions(+), 54 deletions(-)
Index: buildfarm_worker/brasilia.fns
--- buildfarm_worker/brasilia.fns (revision 355)
+++ buildfarm_worker/brasilia.fns (working copy)
@@ -1,9 +1,5 @@
# brasilia. -*- shell-script -*-
-# 2006-07-26: Brasilia has been ``temporarily'' added to the build
-# farm to compile Vaucanson 1.0. To be removed as soon as caracas is
-# able to build Vaucanson properly.
-
# The ccache dir is located in the /work file system on brasilia. As
# ~/.zshenv is not sourced by the build script, this environment var
# is defined here too.
@@ -11,9 +7,38 @@
# Send the logs to Roland.
export MAILTO=roland(a)lrde.epita.fr
+# Initialize ICC environment variables.
+init_icc_vars()
+{
+ # ICC 9.0 directory.
+ icc_dir="/lrde/beyrouth/admin/lrde/usr/intel/compiler90"
+ # 2006-09-05: ICC 9.0 cannot work with GCC 4.1 installed on the
+ # same host. icpc reports this error:
+ #
+ # Command-line error: invalid GNU version number: 412
+ #
+ # So, force ICC to consider GCC 4.0 as the default GCC.
+ export CXXFLAGS="-gcc-name=gcc-4.0"
+ # Don't use CXXFLAGS, it's CPP and LD stuffs.
+ export CPPFLAGS="-D_LINUX -I$icc_dir/include/c++/"
+ export LDFLAGS="-cxxlib-icc"
+ export LD_LIBRARY_PATH="$icc_dir/lib:`printenv LD_LIBRARY_PATH`"
+ export PATH="$icc_dir/bin:$PATH"
+}
+
+
+# Clean up.
clean_buildfarm
-# Vaucanson.
+
+# ----------- #
+# Vaucanson. #
+# ----------- #
+
+# FIXME: 2006-07-26: Vaucanson has been temporarily added to
+# Brasilia. To be removed as soon as caracas is able to build
+# Vaucanson properly.
+
(
export CC="ccache gcc-3.4"
export CXX="ccache g++-3.4"
@@ -27,67 +52,52 @@
bootstrap configure build check demos install distcheck
)
-# ICC 9.1 is no longer working on brasilia (the license has expired --
-# but non-commercial free versions of ICC 9.1 should be available on
-# August 2006). Thus, use ICC 9.0 from the `lrde' account.
-#
(
export CC="ccache icc"
export CXX="ccache icpc"
-
- # 2006-09-05: ICC 9.0 cannot work with GCC 4.1 installed on the
- # same host. icpc reports this error:
- #
- # Command-line error: invalid GNU version number: 412
- #
- # So, force the use of GCC 4.0.
- CXXFLAGS="-gcc-name=gcc-4.0"
-
- icc_dir="/lrde/beyrouth/admin/lrde/usr/intel/compiler90"
- # Don't use CXXFLAGS, it's CPP and LD stuffs.
- export CPPFLAGS="-D_LINUX -I$icc_dir/include/c++/"
- export LDFLAGS="-cxxlib-icc"
- export LD_LIBRARY_PATH="$icc_dir/lib:`printenv LD_LIBRARY_PATH`"
- export PATH="$icc_dir/bin:$PATH"
+ init_icc_vars
test_tree vaucanson-icc \
bootstrap configure build check demos install distcheck
)
+# ------- #
+# Olena. #
+# ------- #
+
+# TEST_OLENA_TREE TREE CXX-COMPILER
+# ---------------------------------
+# A wrapper of test_tree() for Olena trees. TREE is the name of the
+# project (either olena-proto-1.0 or olena-1.0), and CXX_COMPILER is
+# the C++ compiler used.
+test_olena_tree()
+{
+ # Work inside a sub-shell to avoid environment variables escaping.
+ (
+ tree=$1
+ cxx_compiler=$2
+ # Use ccache.
+ export CXX="ccache $cxx-compiler"
+ # ICC-specific initializations, if needed.
+ if test "x$cxx_compiler" = xicpc; then
+ init_icc_vars
+ fi
+ test_tree "$tree-$cxx_compiler"
+ )
+}
+
# Olena 0.10a.
# FIXME: The PRCS repository is not accessible from goa.
#test_tree olena-0.10
-
# Olena proto-1.0.
-(
- export CXX="ccache g++-3.4"
- test_tree olena-proto-1.0-g++-3.4
-)
-
-(
- export CXX="ccache g++-4.0"
- test_tree olena-proto-1.0-g++-4.0
-)
-
-(
- export CXX="ccache g++-4.1"
- test_tree olena-proto-1.0-g++-4.1
-)
-
+tree_olena_tree olena-proto-1.0 g++-3.4
+tree_olena_tree olena-proto-1.0 g++-4.0
+tree_olena_tree olena-proto-1.0 g++-4.1
+test_olena_tree olena-proto-1.0 icpc
# Olena 1.0.
-(
- export CXX="ccache g++-3.4"
- test_tree olena-1.0-g++-3.4
-)
-
-(
- export CXX="ccache g++-4.0"
- test_tree olena-1.0-g++-4.0
-)
-
-(
- export CXX="ccache g++-4.1"
- test_tree olena-1.0-g++-4.1
-)
+tree_olena_tree olena-1.0 g++-3.4
+tree_olena_tree olena-1.0 g++-4.0
+tree_olena_tree olena-1.0 g++-4.1
+test_olena_tree olena-1.0 icpc