I've put a LOT of working in trying to update 'sage-env' which is a little script run right at the start of the Sage build process. (I actually created some of it with William back in 2005, but have thought of many improvements since then).

It needs reviewing, and I'd appreciate if a few people could have a look at it.

http://trac.sagemath.org/sage_trac/ticket/7818

John Palmieri has tested it on a couple of systems, but it would be nice if someone else can test it. It's one of those things that could no doubt be refined more, but I believe it is 100% safe and will allow a lot of stuff to be removed from spkg-install files.

The main logic is to add sensible compiler flags to CFLAGS, CXXFLAGS and 
FCFLAGS.

I don't believe it can harm the Sage environment in any ways as the *only* flags added in all cases are

1) '-Wall' to show warnings
2) '-g' to give debugging information. (It was agreed some time back to build by default with debugging information. The -g can however be switched off if you really don't want it, by setting SAGE_DEBUG=no)

If SAGE64 is exported to "yes" then it will add -m64 to create a 64-bit build. (If the compiler is not gcc, then it works that out, and will add whatever flag is needed to build 64-bit binaries).

It also defines a number of variables, such as FPIC_FLAG, which with GCC will be simple "-fPIC" but it will change for other compilers. So instead of hacking makefiles to replace flags (as is done in some now), it can be done centrally.

No attempt it made at adding any optimization, as one global value is not practical.

Anyway, I hope someone can review it. I've put a lot of work into it! Unfortunately, 90% of people wont notice any difference, but those doing 64-bit builds on OS X, or Solaris, the changes will be more useful.

Dave


-- 
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to