[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: proposed autobuild_mode naming scheme (was: autobuild logs for Libto
From: |
Gary V. Vaughan |
Subject: |
Re: proposed autobuild_mode naming scheme (was: autobuild logs for Libtool) |
Date: |
Mon, 23 Aug 2010 09:45:24 +0700 |
Hallo Ralf,
I think this is an excellent idea... and not a moment too soon :)
On 23 Aug 2010, at 01:44, Ralf Wildenhues wrote:
> * Ralf Wildenhues wrote on Sun, Aug 22, 2010 at 08:38:19PM CEST:
>> configure: autobuild mode... default
> [...]
>
> Autobuild uses a few strings to categorize log results: package version,
> $build, $host, hostname, time and date, and a so-called "mode" which my
> patch sets with the $autobuild_mode variable.
>
> I will be using something like the following values for $autobuild_mode.
> Suggestions and additions welcome, I think we could profit from a
> common, recognizable scheme: that way, when different people all mail
> their results to the autobuild site, results become more easily
> comparable.
>
> Here's the scheme:
>
> $autobuild_mode is
>
> - either 'default' (when the user forgets, or knows no better ;-)
>
> or a hyphen-separated string denoting:
>
> - the compiler vendor (gcc, llvm, clang, xl, hp, sun, sgi, dec, intel, pgi,
> msvc),
Is the compiler version number interesting? (or the os release number for
native compilers with a hard to extract version string)
> - the binutils vendor (bfd or gold, native),
>
> and then zero or more features from the following list, in that order,
> and denoting that configure was passed the respective arguments:
>
> - shared --disable-static
> - static --disable-shared
> - pic --with-pic
> - nonpic --without-pic
> - fast --enable-fast-install
> - nofast --disable-fast-install
> - rtl runtimelinking on AIX (LDFLAGS=-Wl,-brtl)
> - c++ CC=g++
I often run on machines with no f77,gfortran,gcj etc:
- nof77 test -z "${F77}"
- nofc test -z "${FC}"
- nogcj test -z "${GCJ}"
- rc test -n "${RC}"
(picking the "no"-ness to minimize the mode string length in the common case)
> - lto CC='gcc -flto' CXX='gcc -flto' FC='gfortran -flto' F77='gfortran
> -flto'
> - lto-plugin same as lto with gold, but also LDFLAGS=-fuse-linker-plugin
> (or '-O4 -use-gold-plugin' with llvm)
> - ksh/ksh93/dash/...
> CONFIG_SHELL=/bin/ksh was set in the environment and
> /bin/ksh was used to call configure
> - debian-X.Y/gentoo-X.Y/rhel-X.Y/ubuntu-X.Y/...
> distribution (maybe including version) that was used
> (for those systems where $host is not distinguishing)
> - ac-X.Y/am-X.Z
> Autoconf and Automake versions used (if interesting)
> - pmake/gmake
> setting MAKE=pmake and running the build with $MAKE rather
> than the native make.
Instead of using 'default' as the default, we can make things a lot more
accurate with something along the lines of (off the top of my head, and
completely untested!):
: ${autobuild_mode=$host}
case $enable_shared,$enable_static,-$autobuild_mode- in
*,*,*-static-*) ;;
no,yes,*) autobuild_mode="$autobuild_mode-static" ;;
esac
case $enable_shared,$enable_static,-$autobuild_mode- in
*,*,*-shared-*) ;;
yes,no,*) autobuild_mode="$autobuild_mode-shared" ;;
esac
case $pic_mode,-$autobuild_mode- in
*,*-pic-*|*,*-nonpic-*) ;;
yes,*) autobuild_mode="$autobuild_mode-pic" ;;
no,*) autobuild_mode="$autobuild_mode-nonpic ;;
esac
case $enable_fast_install,-$autobuild_mode- in
*,*-fast-*|*,*-nofast-*) ;;
yes,*) autobuild_mode="$autobuild_mode-fast" ;;
no,*) autobuild_mode="$autobuild_mode-nofast" ;;
esac
case $LDFLAGS,-$autobuild_mode- in
*,*-rtl-*) ;;
*" -Wl,-brtl "*,*) autobuild_mode="$autobuild_mode-rtl" ;;
esac
case $CC,-$autobuild_mode- in
*,*-c++-*) ;;
g++*,*|c++*,*|xlC*,*|cxx*,*|CC*,*) # a list of all the C++ compiler we
support
autobuild_mode="$autobuild_mode-c++" ;;
esac
case $F77,-$autobuild_mode- in
,*-nof77-*) ;;
,*) autobuild_mode="$autobuild_mode-nof77" ;;
esac
case $FC,-$autobuild_mode- in
,*-nofc-*) ;;
,*) autobuild_mode="$autobuild_mode-nofc" ;;
esac
case $GCJ,-$autobuild_mode- in
,*-nogcj-*) ;;
,*) autobuild_mode="$autobuild_mode-nogcj" ;;
esac
case -$RC-,-$autobuild_mode- in
--,*|*,*-rc-*) ;;
-?*-,*) autobuild_mode="$autobuild_mode-rc" ;;
esac
case $CC ,-$autobuild_mode- in
*,*-lto-*) ;;
*" -flto ",*) autobuild_mode="$autobuild_mode-lto" ;;
esac
... and so on.
This is long-wined enough too, I think, that putting it in a new
m4 macro rather than hard-coding into configure.ac seems worthwhile.
> So, for example, using GCC on AIX 5.2 with the system ld and
> runtimelinking, $host would be powerpc-aix53-.., my autobuild_mode would
> be
> gcc-native-rtl
>
> I'm not yet sure whether and when to leave out the compiler and binutils
> vendor strings; on some systems there is one canonical choice and there
> would be no need to distinguish. Not sure if the vendor one would
> always be the best default though.
Considering the amount of data we (or at least the autoconf and gnulib
list) collects about bugs in particular vendor compiler patch levels,
I think that it would be useful to capture this information too -- and
then we can take note of trends in test failures caused by particular
releases.
> Additions welcome.
HTH,
--
Gary V. Vaughan (address@hidden)
PGP.sig
Description: This is a digitally signed message part
- Re: Next Libtool Point Release Pending, (continued)
- Re: Next Libtool Point Release Pending, Bob Friesenhahn, 2010/08/06
- Re: Next Libtool Point Release Pending, Gary V. Vaughan, 2010/08/06
- Re: Next Libtool Point Release Pending, Ralf Wildenhues, 2010/08/06
- Re: Next Libtool Point Release Pending, Gary V . Vaughan, 2010/08/09
- Re: Next Libtool Point Release Pending, Peter O'Gorman, 2010/08/09
- Re: Next Libtool Point Release Pending, Gary V. Vaughan, 2010/08/09
- Re: Next Libtool Point Release Pending, Ralf Wildenhues, 2010/08/09
- autobuild logs for Libtool (was: Next Libtool Point Release Pending), Ralf Wildenhues, 2010/08/09
- Re: autobuild logs for Libtool, Ralf Wildenhues, 2010/08/22
- proposed autobuild_mode naming scheme (was: autobuild logs for Libtool), Ralf Wildenhues, 2010/08/22
- Re: proposed autobuild_mode naming scheme (was: autobuild logs for Libtool),
Gary V. Vaughan <=
- Re: proposed autobuild_mode naming scheme (was: autobuild logs for Libtool), Gary V. Vaughan, 2010/08/22
- Re: proposed autobuild_mode naming scheme, Ralf Wildenhues, 2010/08/29
- Re: autobuild logs for Libtool, Gary V. Vaughan, 2010/08/22
- Re: autobuild logs for Libtool, Ralf Wildenhues, 2010/08/23
- Re: Next Libtool Point Release Pending, Bob Friesenhahn, 2010/08/09
- [PATCH] Autotest 2.62 bug?, Gary V. Vaughan, 2010/08/09
- Re: [PATCH] Autotest 2.62 bug?, Eric Blake, 2010/08/09
- [PATCH] Make testsuite compatible with Autoconf 2.62 again., Gary V. Vaughan, 2010/08/10
- Re: Next Libtool Point Release Pending, Bob Friesenhahn, 2010/08/06
- Re: [RFT PATCH v4 0/8] Sysroot series, Paolo Bonzini, 2010/08/03