I want to change the file prereq-0.3/configure.ac to make a new
prereq-0.4/configure script, as currently the configure script does a
few things I think are wrong.

1) If CC is set to a non-GNU compiler, the configure scripts tests the
version of  gcc and says the GNU compiler is too old. I know currently
we only support gcc, but ultimately we hope to support the Sun
compiler. This configure script will l break such an attempt
immediately.

My proposale is to change configure.ac, so the configure script issues
a warning other compilers are unsupported, but does not attempt to
test their versions  - it just tries to use whatever compilers are
specified with CC, CXX and SAGE_FORTRAN one has tried to use, after
the warning has been issued.

Is this a reasonable thing to do?

2)  The configure script does a very simple test for the version of
gcc, and rejects it if its less than 3. It then issues a message
"please upgrade to gcc 3.x or 4.x"

The README says Sage builds with "GCC >= 3.x and GCC >= 4.1.x."

Somewhere I read Sage will not build with gcc < 3.3.

Also, the configure script will currently accept gcc 4.0.0, 4.0.1, yet
they are known to be buggy.

I suggest the configure script is updated to accept gcc's in the ranges

3.3.0 <= $version <= 3.4.6 (3.4.6 was the last of the 3.x releases)
$version >= 4.1

It will exit with an error message if gcc is outside that range. Is
that reasonable?

3) Currently no tests are performed to ensure the versions of gcc, g++
and gfortran are all the same. I was thinking that confirming all
verssion are the same would be sensible. Whilst I'm not 100% certain
that mixing GNU versions of C/C++/Fortran compilers will necessarily
break, I think it is highly likely it will, especially if the versions
x or y in version x.y.z changes (I suspect if only z changes, it would
be ok).

I was proposing to ensure if the the GNU compilers are used, the exact
versions must all match. Is that reasonable?

5) I propose if we use the GNU compiler collection (i.e. gcc, g++,
gfortran) that all components must be GNU. In other words, we don't
accept a combination of GNU and Sun compilers. I'm pretty sure any
attempt to mix these would result in problems.

Therefore, we exit if the compilers are mixed in any way.

6) We issue a warning that the platform is unsupported if its anything
other than linux, Solaris or OS X. In other words, we allow people to
try to build Sage on FreeBSD, HP-UX, AIX etc, but do issue a warning.
(Currently the top-level makefile will issue a warning on Solaris x86,
but not any anything else. I did propose this was changed 14 mothns
ago http://trac.sagemath.org/sage_trac/ticket/3384 but it was given a
low priority and added to the wish-list, so it was never implemented).

7) The top-level README.txt says

SUPPORTED COMPILERS:
    * Sage builds with GCC >= 3.x and GCC >= 4.1.x.

yet I'm sure I've read gcc of less than 3.2 will not work. If this is
so, I propose changing the top-level to say GCC > 3.1 rather than >
3.x

8) The top level README.txt says Solaris on SPARC works fine, This is
far from true. I suggest its changed to "See the wiki", which we keep
updated.

If these are considered ok, I intend creating two trac tickets - one
to update README.txt and another to update configure.ac.

Dave

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to