octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Building Octave with Intel C++/F9x


From: Mumit Khan
Subject: Building Octave with Intel C++/F9x
Date: Wed, 5 Jun 2002 01:42:30 -0500 (CDT)

Giuseppe Ragusa asked me for help on building Octave with Intel C++ and
F9x version 6.0, and so I took a quick look. The good news is that a
minimum set of changes made that happen, thanks to the current CVS tree
that is much more ISO C++ conformant. However, I do have a problem with
autoconf macros, and need help with that. There are two areas I'm looking
for help:

1. The macros OCTAVE_CC_FLAGS, OCTAVE_CXX_FLAGS etc assume that the
compiler will exit with an error status, not just complain when given
an incorrect flag. However, compilers don't have a consistent behavior
when it comes to that, and some will just produce a warning and then
go on its merry way. For example, given the -Wall flag, Intel C++ will
produce a warning about incorrect arguments to its -W flag, but will
produce an object file; likewise with -mieee-fp. The reason Sun Forte
flags -Wall as an incorrect flag is because the linker aborts, so it
seems to work. This is not a big problem, but it does produce lots of
warnings about ignoring invalid option during build time that can be
quite annoying.

2. Autoconf 2.5+ macro AC_F77_LIBRARY_LDFLAGS gets very confused with
when it sees the output from Intel F9x (ifc). One workaround is to
modify the macro to remove quotes just like it does for Cray Fortran.
There must be a better way ...

To avoid issues such as (1) in my own codes, I explicitly enumerate
compilers and add appropriate flags; while not the most efficient way
to go, there is a very small set of competent C++ compilers, and this
turns out to be the best option for me. Possibly not so with C and
Fortran compilers.

I'd love to hear from autoconf gurus on how to handle each case. (1)
is easy to work around by specifying XTRA_CXXFLAGS on the make command
line, but no such luck with (2) as configure aborts after it puts
together a mangled FLIBS (aborts in AC_F77_DUMMY_MAIN because of the
bad data from AC_F77_LIBRARY_LDFLAGS).

I'll turn in the source changes this weekend after I do a few tests,
but the configuration changes will have to wait. I can supply a patch
to AC_F77_LIBRARY_LDFLAGS, but that of course requires a patched
autoconf. I'll send another note with details later, after I get back
home in a few days.

Regards,
Mumit



reply via email to

[Prev in Thread] Current Thread [Next in Thread]