https://svn.lrde.epita.fr/svn/lrde-tools/trunk/build-farm
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Improve the handling of ICC.
* buildfarm_worker/brasilia.fns (host_type): Set to
linux-x86/unstable.
Source /lrde/dev/linux-x86/intel/icc9.1/bin/iccvars.sh at the
begining of the file, instead of adding ICC's directory to the
PATH manually.
(init_icc_vars): Move this function...
* buildfarm_worker/tools.fns: ...here (new file).
* buildfarm_worker/caracas.fns (host_type): Set to
linux-x86/sarge.
Source /lrde/dev/linux-x86/intel/icc9.1/bin/iccvars.sh at the
begining of the file, instead of adding ICC's directory to the
PATH manually.
(ACLOCAL, TIMELIMIT_CC): New environment variables.
* buildfarm_worker/generic.fns (CC, CXX): Fix these environment
variables.
* buildfarm_worker/config.fns: Handle Olena 0.11.
brasilia.fns | 206 +++--------------------------------------------------------
caracas.fns | 26 +++++--
config.fns | 2
generic.fns | 4 -
tools.fns | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 224 insertions(+), 206 deletions(-)
Index: buildfarm_worker/brasilia.fns
--- buildfarm_worker/brasilia.fns (revision 421)
+++ buildfarm_worker/brasilia.fns (working copy)
@@ -1,12 +1,18 @@
# brasilia. -*- shell-script -*-
-# Used to compile Olena and Vaucanson.
+# Used to build Olena and Vaucanson.
-host_type=linux-x86
-# Add ICC (from /lrde/dev) to the PATH, as well as Automake 1.10 (not
-# yet in Sid).
-path_prepend intel/icc9.1 unstable/automake-1.10
+host_type=linux-x86/unstable
+
+# Get init_icc_vars's definition.
+source tools.fns
+
+# Add ICC (from /lrde/dev) to the PATH...
+/lrde/dev/linux-x86/intel/icc9.1/bin/iccvars.sh
+
+# ... as Automake 1.10 (not yet in Sid).
+path_prepend automake-1.10
# Tell autoreconf 1.10 where other M4 macros live.
export ACLOCAL='aclocal -I /usr/share/aclocal/'
@@ -20,196 +26,6 @@
export TIMELIMIT_CC=gcc
-# INIT_ICC_VARS
-# -------------
-# Initialize ICC environment variables.
-init_icc_vars()
-{
- # ICC 9.1 settings.
- source /lrde/dev/linux-x86/intel/icc9.1/bin/iccvars.sh
-
- # 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.
- #
- #
- # Remarks.
- # --------
- #
- # #279 - from icpc stdlib + mlc
- # #304 - fixable
- # #383 - located in icpc std lib + xtd
- # #424 - probably fixable
- # #444 - hard to fix IMHO
- # #593 - fixable, but probably a lot of places must be changed
- # #810 - fixable
- # #869 - located in icpc std lib (=> not our responsibility)
- # #981 - located in icpc std lib + xtd ; hard to fix without obfuscating.
- # #1292 - located in icpc stdlib (=> not our responsibility)
- # #1418 - to be looked at closer
- # #1572 - fixable (comparisons on float values)
- # #1682 - located in system lib (=> not our responsibility)
- # #1683 - located in system lib (=> not our responsibility)
- #
- #
- # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/xstring(1577):
- # remark #279: controlling expression is constant
- # : sizeof (_Elem) <= 2 ? 7
- # ^
- #
- #
- # extended/xtd/cfun.hh(76):
- # remark #304: access control not specified ("public" by default)
- # struct fun_traits_< plain_cfun_<F> > : fun_traits_<F>
- # ^
- #
- #
- # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/xlocale(123):
- # remark #383: value copied to temporary, reference to temporary used
- # : _Refs(_Initrefs)
- # ^
- #
- #
- # static/tests/any.cc(139):
- # remark #424: extra ";" ignored
- # };
- # ^
- #
- #
- # metalic/mlc/cmp.hh(114):
- # remark #444: destructor for base class "mlc::bexpr_<false>" is not
virtual
- # public bexpr_<false>
- # ^
- #
- #
- # olena/tests/morphers/count_rw_morpher.cc(46):
- # remark #593: variable "i" was set but never used
- # int i = ima2(p);
- # ^
- #
- #
- # extended/xtd/abstract/plain_nary_fun.hh(160):
- # remark #810: conversion from "double" to "const float &" may
lose
- # significant bits
- # return this->exact().impl_op(arg);
- # ^
- #
- #
- # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/typeinfo(190):
- # remark #869: parameter "_object" was never referenced
- # const void* _object,
- # ^
- #
- #
- # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/xstring(1621):
- # remark #981: operands are evaluated in unspecified order
- # _Traits::assign(_Myptr()[_Mysize = _Newsize], _Elem());
- # ^
- #
- #
- # /usr/include/stdlib.h(177): warning #1292: attribute "__nonnull__" ignored
- # throw () __attribute__ ((__nonnull__ (1)));
- # ^
- #
- #
- # metalic/tests/gcase.cc(55):
- # remark #1418: external definition with no prior declaration
- # void print()
- # ^
- #
- #
- # olena/tests/morphers/two_way_rw_morpher.cc(74):
- # remark #1572: floating-point equality and inequality comparisons are
- # unreliable
- # (static_cast<void> ((xtd::L2_norm(ima(p)) = 1) ? 0 :
- # ^
- # (__assert_fail ("xtd::L2_norm(ima(p)) = 1",
- # "olena/tests/morphers/two_way_rw_morpher.cc", 74, __PRETTY_FUNCTION__),
- # 0)));
- #
- #
- # /usr/include/sys/sysmacros.h(44):
- # remark #1682: implicit conversion of a 64-bit integral type to a smaller
- # integral type (potential portability problem)
- # return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) &
~0xfff);
- # ^
- #
- #
- # /usr/include/sys/sysmacros.h(44):
- # remark #1683: explicit conversion of a 64-bit integral type to a smaller
- # integral type (potential portability problem)
- # return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) &
~0xfff);
- # ^
- #
- #
- # Warnings.
- # ---------
- #
- # #61 - located in h++ std lib (=> not our responsibility)
- # #68 - located in h++ std lib (=> not our responsibility)
- # #161 - located in h++ std lib (=> not our responsibility)
- # #239 - located in g++ std lib (=> not our responsibility)
- # #592 - fixable (see remark #593)
- # #854 - to be looked at closer
- # #858 - to be looked at closer
- # #1292 - located in gcc std lib
- #
- #
- # /usr/include/c++/4.0.4/limits(529):
- # warning #61: integer operation result is out of range
- # { return (((wchar_t)(-1) < 0) ? ((wchar_t)1 << (sizeof(wchar_t) * 8 -
- # ((wchar_t)(-1) < 0))) - 1 : ~(wchar_t)0); }
- # ^
- #
- #
- # /usr/include/c++/4.0.4/limits(374):
- # warning #68: integer conversion resulted in a change of sign
- # { return (((char)(-1) < 0) ? (char)1 << (sizeof(char) * 8 - ((char)(-1)
- # < 0)) : (char)0); }
- # ^
- #
- #
- # /usr/include/c++/4.0.4/cstdlib(47):
- # warning #161: unrecognized #pragma
- # #pragma GCC system_header
- #
- #
- # /usr/include/c++/4.0.4/limits(1010):
- # warning #239: floating point underflow
- # = bool(1.40129846e-45F) ? denorm_present : denorm_absent;
- # ^
- #
- #
- # metalic/tests/gcase.cc(59):
- # warning #592: variable "tmp" is used before its value is set
- # tmp = tmp;
- # ^
- #
- #
- # extended/xtd/math/arith.hh(37):
- # warning #854: const variable "xtd::plus" requires an initializer -- class
- # "xtd::m2fun_<xtd::plain_plus_>" has no explicitly declared default
- # constructor
- # [...]
- #
- #
- # olena/oln/core/internal/tracked_ptr.hh(60):
- # warning #858: type qualifier on return type is meaningless
- # const T*const operator->() const;
- # ^
- #
- #
- # /usr/include/stdlib.h(146):
- # warning #1292: attribute "__nonnull__" ignored
- # throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
- # ^
- #
- 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"
-}
-
# Clean up.
clean_buildfarm
Index: buildfarm_worker/tools.fns
--- buildfarm_worker/tools.fns (revision 0)
+++ buildfarm_worker/tools.fns (revision 0)
@@ -0,0 +1,192 @@
+# Tools. -*- shell-script -*-
+
+# To be sourced by host files.
+
+
+# INIT_ICC_VARS
+# -------------
+# Initialize some environment variables for ICC.
+init_icc_vars()
+{
+ # Disable some (sometimes fallacious) remarks and warnings from icpc.
+ # All of these remarks make references to Olena 1.0.
+ #
+ # Some of these warnings could be disabled from configure when
+ # the selected C++ compiler is icpc.
+ #
+ #
+ # Remarks.
+ # --------
+ #
+ # #279 - from icpc stdlib + mlc
+ # #304 - fixable
+ # #383 - located in icpc std lib + xtd
+ # #424 - probably fixable
+ # #444 - hard to fix IMHO
+ # #593 - fixable, but probably a lot of places must be changed
+ # #810 - fixable
+ # #869 - located in icpc std lib (=> not our responsibility)
+ # #981 - located in icpc std lib + xtd ; hard to fix without obfuscating.
+ # #1292 - located in icpc stdlib (=> not our responsibility)
+ # #1418 - to be looked at closer
+ # #1572 - fixable (comparisons on float values)
+ # #1682 - located in system lib (=> not our responsibility)
+ # #1683 - located in system lib (=> not our responsibility)
+ #
+ #
+ # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/xstring(1577):
+ # remark #279: controlling expression is constant
+ # : sizeof (_Elem) <= 2 ? 7
+ # ^
+ #
+ #
+ # extended/xtd/cfun.hh(76):
+ # remark #304: access control not specified ("public" by default)
+ # struct fun_traits_< plain_cfun_<F> > : fun_traits_<F>
+ # ^
+ #
+ #
+ # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/xlocale(123):
+ # remark #383: value copied to temporary, reference to temporary used
+ # : _Refs(_Initrefs)
+ # ^
+ #
+ #
+ # static/tests/any.cc(139):
+ # remark #424: extra ";" ignored
+ # };
+ # ^
+ #
+ #
+ # metalic/mlc/cmp.hh(114):
+ # remark #444: destructor for base class "mlc::bexpr_<false>" is not
virtual
+ # public bexpr_<false>
+ # ^
+ #
+ #
+ # olena/tests/morphers/count_rw_morpher.cc(46):
+ # remark #593: variable "i" was set but never used
+ # int i = ima2(p);
+ # ^
+ #
+ #
+ # extended/xtd/abstract/plain_nary_fun.hh(160):
+ # remark #810: conversion from "double" to "const float &" may
lose
+ # significant bits
+ # return this->exact().impl_op(arg);
+ # ^
+ #
+ #
+ # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/typeinfo(190):
+ # remark #869: parameter "_object" was never referenced
+ # const void* _object,
+ # ^
+ #
+ #
+ # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/xstring(1621):
+ # remark #981: operands are evaluated in unspecified order
+ # _Traits::assign(_Myptr()[_Mysize = _Newsize], _Elem());
+ # ^
+ #
+ #
+ # /usr/include/stdlib.h(177): warning #1292: attribute "__nonnull__" ignored
+ # throw () __attribute__ ((__nonnull__ (1)));
+ # ^
+ #
+ #
+ # metalic/tests/gcase.cc(55):
+ # remark #1418: external definition with no prior declaration
+ # void print()
+ # ^
+ #
+ #
+ # olena/tests/morphers/two_way_rw_morpher.cc(74):
+ # remark #1572: floating-point equality and inequality comparisons are
+ # unreliable
+ # (static_cast<void> ((xtd::L2_norm(ima(p)) = 1) ? 0 :
+ # ^
+ # (__assert_fail ("xtd::L2_norm(ima(p)) = 1",
+ # "olena/tests/morphers/two_way_rw_morpher.cc", 74, __PRETTY_FUNCTION__),
+ # 0)));
+ #
+ #
+ # /usr/include/sys/sysmacros.h(44):
+ # remark #1682: implicit conversion of a 64-bit integral type to a smaller
+ # integral type (potential portability problem)
+ # return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) &
~0xfff);
+ # ^
+ #
+ #
+ # /usr/include/sys/sysmacros.h(44):
+ # remark #1683: explicit conversion of a 64-bit integral type to a smaller
+ # integral type (potential portability problem)
+ # return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) &
~0xfff);
+ # ^
+ #
+ #
+ # Warnings.
+ # ---------
+ #
+ # #61 - located in h++ std lib (=> not our responsibility)
+ # #68 - located in h++ std lib (=> not our responsibility)
+ # #161 - located in h++ std lib (=> not our responsibility)
+ # #239 - located in g++ std lib (=> not our responsibility)
+ # #592 - fixable (see remark #593)
+ # #854 - to be looked at closer
+ # #858 - to be looked at closer
+ # #1292 - located in gcc std lib
+ #
+ #
+ # /usr/include/c++/4.0.4/limits(529):
+ # warning #61: integer operation result is out of range
+ # { return (((wchar_t)(-1) < 0) ? ((wchar_t)1 << (sizeof(wchar_t) * 8 -
+ # ((wchar_t)(-1) < 0))) - 1 : ~(wchar_t)0); }
+ # ^
+ #
+ #
+ # /usr/include/c++/4.0.4/limits(374):
+ # warning #68: integer conversion resulted in a change of sign
+ # { return (((char)(-1) < 0) ? (char)1 << (sizeof(char) * 8 - ((char)(-1)
+ # < 0)) : (char)0); }
+ # ^
+ #
+ #
+ # /usr/include/c++/4.0.4/cstdlib(47):
+ # warning #161: unrecognized #pragma
+ # #pragma GCC system_header
+ #
+ #
+ # /usr/include/c++/4.0.4/limits(1010):
+ # warning #239: floating point underflow
+ # = bool(1.40129846e-45F) ? denorm_present : denorm_absent;
+ # ^
+ #
+ #
+ # metalic/tests/gcase.cc(59):
+ # warning #592: variable "tmp" is used before its value is set
+ # tmp = tmp;
+ # ^
+ #
+ #
+ # extended/xtd/math/arith.hh(37):
+ # warning #854: const variable "xtd::plus" requires an initializer -- class
+ # "xtd::m2fun_<xtd::plain_plus_>" has no explicitly declared default
+ # constructor
+ # [...]
+ #
+ #
+ # olena/oln/core/internal/tracked_ptr.hh(60):
+ # warning #858: type qualifier on return type is meaningless
+ # const T*const operator->() const;
+ # ^
+ #
+ #
+ # /usr/include/stdlib.h(146):
+ # warning #1292: attribute "__nonnull__" ignored
+ # throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+ # ^
+ #
+ 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"
+}
Index: buildfarm_worker/caracas.fns
--- buildfarm_worker/caracas.fns (revision 421)
+++ buildfarm_worker/caracas.fns (working copy)
@@ -1,20 +1,31 @@
# caracas. -*- shell-script -*-
-# Used to continuously build Tiger and Vaucanson.
-host_type=linux-x86
+# Used to build Tiger (and Vaucanson).
+
+
+host_type=linux-x86/sarge
+
+# Add ICC (from /lrde/dev) to the PATH.
+/lrde/dev/linux-x86/intel/icc9.1/bin/iccvars.sh
# Add some programs from /lrde/dev to the PATH.
-path_prepend \
- sarge/autoconf-2.60 \
- sarge/automake-1.10 \
- sarge/bison-2.3 \
- intel/icc9.1
+path_prepend autoconf-2.60 automake-1.10 bison-2.3
+
+# Tell autoreconf 1.10 where other M4 macros live.
+export ACLOCAL='aclocal -I /usr/share/aclocal/'
# 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.
export CCACHE_DIR=/work/build/var/ccache
+# The setup of ICC is tedious enough to be avoided to build `timelimit';
+# always use GCC for this.
+export TIMELIMIT_CC=gcc
+
+
+
+# Clean up.
clean_buildfarm
@@ -53,7 +64,6 @@
# export CC="icc"
# export CXX="icpc"
# # ICC 9.1 settings.
-# source /lrde/dev/linux-x86/intel/icc9.1/bin/iccvars.sh
# init_icc_vars
# test_tree vaucanson-icc-9.1 \
# bootstrap configure build check demos install distcheck
Index: buildfarm_worker/generic.fns
--- buildfarm_worker/generic.fns (revision 421)
+++ buildfarm_worker/generic.fns (working copy)
@@ -3,8 +3,8 @@
clean_buildfarm
# Use ccache along with GCC.
-export CC="export gcc"
-export CXX="export g++"
+export CC="ccache gcc"
+export CXX="ccache g++"
test_tree generic-tools
test_tree c-tools
Index: buildfarm_worker/config.fns
--- buildfarm_worker/config.fns (revision 421)
+++ buildfarm_worker/config.fns (working copy)
@@ -59,7 +59,7 @@
# Olena. #
# ------- #
- olena:0.10*)
+ olena:0.10|olena:0.11*)
# Pacify Apple's g++.
if $(cxx_compiler) --version | grep Apple >/dev/null; then
CXXFLAGS=-Wno-long-double