https://svn.lrde.epita.fr/svn/lrde-tools/trunk/build-farm
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Update brasilia's settings for ICC 9.1.
* buildfarm_worker/brasilia.fns (host_type): Set to linux-x86.
Add ICC 9.1's directory to the PATH.
Do not use ccache with ICC, as ICC tends to mix up with
generated dependencies.
(init_icc_vars): Adjust for ICC 9.1.
(test_olena_tree): Add support of additional options.
Disable ccache when using ICC.
Use this function to test Olena 0.10a trees.
Add a test tree for Olena 0.10a using the Intel C++ Compiler
(icpc) version 9.1.
* web/build.pl: Remove olena-0.10a and olena-1.0-icpc.
Add olena-0.10a-g++-4.1, olena-0.10a-icpc-9.1 and
olena-1.0-icpc-9.1.
buildfarm_worker/brasilia.fns | 111 +++++++++++++-----------------------------
web/build.pl | 3 +
2 files changed, 39 insertions(+), 75 deletions(-)
Index: web/build.pl
--- web/build.pl (revision 416)
+++ web/build.pl (working copy)
@@ -83,10 +83,13 @@
'vaucanson-icc',
'---',
'olena-0.10a',
+ 'olena-0.10a-g++-4.1',
+ 'olena-0.10a-icpc-9.1',
'olena-1.0-g++-3.4',
'olena-1.0-g++-4.0',
'olena-1.0-g++-4.1',
'olena-1.0-icpc',
+ 'olena-1.0-icpc-9.1',
'---',
'ranch',
'---',
Index: buildfarm_worker/brasilia.fns
--- buildfarm_worker/brasilia.fns (revision 416)
+++ buildfarm_worker/brasilia.fns (working copy)
@@ -2,6 +2,11 @@
# Used to compile Olena and Vaucanson.
+host_type=linux-x86
+
+# Add ICC (from /lrde/dev) to the PATH.
+path_prepend intel/icc9.1
+
# The ccache dir is located in the /work file system. As ~/.zshenv is
# not sourced by the build script, this environment variable is
# defined here.
@@ -17,13 +22,10 @@
# Initialize ICC environment variables.
init_icc_vars()
{
- # ICC 9.0 directory.
- icc_dir="/lrde/beyrouth/admin/lrde/usr/intel/compiler90"
-
- # Help icpc.
- export CPPFLAGS="-D_LINUX -I$icc_dir/include/c++/"
+ # ICC 9.1 settings.
+ source /lrde/dev/linux-x86/intel/icc9.1/bin/iccvars.sh
- # BTW, disable some (sometimes fallacious) remarks and warnings from icpc.
+ # Disable some (sometimes fallacious) remarks and warnings from icpc.
#
# FIXME: Some of these warnings could be disabled from configure when
# the selected C++ compiler is icpc.
@@ -202,27 +204,7 @@
#
ignored_remarks="279,304,383,424,444,593,810,869,1292,1418,1572,1682,1683"
ignored_warnings="61,68,161,239,592,854,858,1292"
-
export CXXFLAGS="-wd$ignored_remarks,$ignored_warnings"
- export LDFLAGS="-cxxlib-icc -i-static"
- export LD_LIBRARY_PATH="$icc_dir/lib:`printenv LD_LIBRARY_PATH`"
-
- # The directory /work/build/bin-icc contains replacement wrappers for
- # icc and icpc, because the installation of ICC on the lrde account
- # is broken since the reorganization of the accounts (the lrde
- # account has been moved from /home/lrde/admin/lrde to
- # /lrde/beyrouth/admin/lrde).
- #
- #
- # Moreover, 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
- #
- # Yet GCC 4.1 is the default version of GCC on brasilia. So,
- # /work/build/bin-icc also contains symlinks for gcc and g++
- # pointing to the version 4.0 of the GNU C and C++ compilers.
- export PATH="/work/build/bin-icc:$icc_dir/bin:$PATH"
}
@@ -258,8 +240,8 @@
)
(
- export CC="ccache icc"
- export CXX="ccache icpc"
+ export CC="icc"
+ export CXX="icpc"
init_icc_vars
test_tree vaucanson-icc \
bootstrap configure build check demos install distcheck
@@ -270,8 +252,8 @@
# Olena. #
# ------- #
-# TEST_OLENA_TREE TREE CXX-COMPILER
-# ---------------------------------
+# TEST_OLENA_TREE TREE CXX-COMPILER [OPTIONS]...
+# ----------------------------------------------
# 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.
@@ -280,58 +262,37 @@
# Work inside a sub-shell to avoid environment variables escaping.
(
tree=$1
- cxx_compiler=$2
- # Use ccache.
- export CXX="ccache $cxx_compiler"
+ shift
+ cxx_compiler=$1
+ shift
# ICC-specific initializations, if needed.
- if test "x$cxx_compiler" = xicpc; then
+ case "$cxx_compiler" in
+ icpc*)
init_icc_vars
- fi
- test_tree "$tree-$cxx_compiler"
+ # Do not use ccache with icpc, as icpc tends to mix up with
+ # generated dependencies.
+ export CXX="$cxx_compiler"
+ ;;
+ *)
+ # Use ccache.
+ export CXX="ccache $cxx_compiler"
+ ;;
+ esac
+ test_tree "$tree-$cxx_compiler" "$@"
)
}
# Olena 0.10a.
-
-# FIXME: 2006-09-18: Disabled, since it ate too much CPU ressources on
-# brasilia (in fact, Olena 0.10a builds cycles were endless!).
-# So we're back to the manual updates for Olena 0.10a.
-
-
-# # ACTION_FETCH_OLN_FROM_PRCS
-# # --------------------------
-# # An additional action to fetch Olena O.10a from beyrouth's PRCS
-# # repository.
-# #
-# # Any tested source tree is normally populated on goa, and fetched from
-# # this machine; but the PRCS repository, where Olena 0.10a lies, is not
-# # accessible from goa -- but brasilia can! Hence this function,
-# # triggered as an action by test_tree() before the boostraping of the
-# # source tree.
-# action_fetch_oln_from_prcs()
-# {
-# (
-# export PRCS_REPOSITORY=~prcs/repository
-# # The --force option is required to run prcs with no terminal.
-# prcs checkout --force oln
-# )
-# }
-
-# # FIXME: 2006-09-16: As the working copy of Olena 0.10a is always
-# # empty on goa, we need to always force the build by removing its
-# # checksum.
-# rm -f build.olena-0.10a.sum
-# # FIXME: 2006-09-16: Augment maintainer/update_unpacked with the
-# # ability to fetch copies from the PRCS repository instead of using
-# # the dedicated action `fetch_oln_from_prcs'.
-# test_tree olena-0.10a \
-# fetch_oln_from_prcs bootstrap configure build check install distcheck
-
-test_tree olena-0.10a bootstrap configure build check install distcheck
-
+# ------------
+# FIXME: Augment `maintainer/update_unpacked' with the ability to fetch
+# copies from the PRCS repository instead of using manual updates from
+# brasilia using `maintainer/update_unpacked-oln-0.10a.'?
+test_olena_tree olena-0.10a g++-4.1
+test_olena_tree olena-0.10a icpc-9.1
# Olena proto-1.0.
+# ----------------
# 2006-09-16: Disabled.
# test_olena_tree olena-proto-1.0 g++-3.4
# test_olena_tree olena-proto-1.0 g++-4.0
@@ -339,8 +300,8 @@
# test_olena_tree olena-proto-1.0 icpc
# Olena 1.0.
+# ----------
test_olena_tree olena-1.0 g++-3.4
test_olena_tree olena-1.0 g++-4.0
test_olena_tree olena-1.0 g++-4.1
-
-test_olena_tree olena-1.0 icpc
+test_olena_tree olena-1.0 icpc-9.1