
https://svn.lrde.epita.fr/svn/lrde-tools/trunk/build-farm Index: ChangeLog from Roland Levillain <roland@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