On Tue, September 30, 2008 09:15, Anders Logg wrote:
On Tue, Sep 30, 2008 at 08:39:41AM +0200, Johannes Ring wrote:
On Sat, September 27, 2008 20:05, Garth N. Wells wrote:
Johan Hake wrote:
On Saturday 27 September 2008 18:17:12 Harish Narayanan wrote:
In order to get the swig-generated dolfin_wrap.cc to build with
my
gcc,
I need to perform some simple substitutions on the file which
I've
expressed as a perl script:
perl -pi -e 's/Type v;/Type v = 0;/g' dolfin/swig/dolfin_wrap.cc
Maybee you could make a runnable script called 'swig' and put it
somwhere in
your path, and make sure it executes before the system swig. Then
in
the
script you call the system swig with the handed sysargs. After
that
line
you
execute the command above. Its a hack, but I do not think scons
support
this
in a better way.
I don't really like this approach. I would prefer to enable
different
compiler flags for dolfin_wrap.cc, i.e. do not use -Werror, if that
does
the trick. dolfin_wrap.cc won't compile under Ubuntu Intrepid with
-Werror, so we'll need to do something.
What if we removed the -Werror flag from CXXFLAGS as default and
instead
let the user decide whether to add it through the customCxxFlags
option?
This option is cached in scons/options.cache so you only have to set
it
once.
Currently, the only way a user can remove the -Werror flag when
running
scons is by turning off debugging with enableDebug=no. I don't think
this
is very nice since -Werror isn't really a debugging flag.
Johannes
I don't like that. It would increase the risk of someone pushing code
that compiles with warnings. DOLFIN has been free of warnings for a
few years now and it was quite a bit of work to remove them to begin
with.
Okay, I see.
Is it okay then if I move the -Werror flag from the debugging flags to
the
default CXXFLAGS and if the user defines CXXFLAGS the default CXXFLAGS
is
overwritten? Like this:
diff -r cfbe8dbbf3c9 SConstruct
--- a/SConstruct Mon Sep 29 15:23:53 2008 +0200
+++ b/SConstruct Tue Sep 30 09:36:49 2008 +0200
@@ -149,7 +149,10 @@
# FIXME: should we also remove the file scons/options.cache?
# Default CXX and FORTRAN flags
-env["CXXFLAGS"] = "-Wall -pipe -ansi" # -Werror"
+if os.environ.has_key("CXXFLAGS"):
+ env['CXXFLAGS'] = os.environ["CXXFLAGS"]
+else:
+ env["CXXFLAGS"] = "-Wall -pipe -ansi -Werror"
#env["SHFORTRANFLAGS"] = "-Wall -pipe -fPIC"
# Default link flags
@@ -157,7 +160,7 @@
# If Debug is enabled, add -g:
if env["enableDebug"]:
- env.Append(CXXFLAGS=" -DDEBUG -g -Werror")
+ env.Append(CXXFLAGS=" -DDEBUG -g")
if not env["enableDebugUblas"]:
env.Append(CXXFLAGS=" -DNDEBUG")
Johannes