← Back to team overview

dolfin team mailing list archive

Re: Swig and scons

 

On Tue, Sep 30, 2008 at 09:38:07AM +0200, Johannes Ring wrote:
> 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

Sounds good.

-- 
Anders

Attachment: signature.asc
Description: Digital signature


Follow ups

References