On Dec 6, 2010, at 11:53 AM, Jed Brown wrote:

> I'm not convinced that removing the PETSCXXX_DLLEXPORT stuff was a good 
> thing.  Besides the obvious issues on Windows, it removes the ability to do 
> proper export control.  This is discussed at length in section 2.2:
> 
> http://www.akkadia.org/drepper/dsohowto.pdf#page=17
> 
> but the tangible benefit is that distro packagers would be happier because it 
> allows more robust handling of dependencies.  I realize that it was unused, 
> but the "export" label has real meaning (even if only as documentation at 
> this point) in a library context.  Most internal functions can (and should) 
> be static, but there are a few that need more than file scope, but still 
> shouldn't be exported.
> 
> I understand that it's one more thing, and perhaps the simplicity is worth 
> it, but I wanted to point out that with those macros, we could have used 
> (gcc/clang/intel) -fvisibility=hidden and defined the macro to 
> __attribute__((visibility("default"))).
> 
> Jed

  Worse comes to worse I put it back (but better next time :-).

  Actually I think handling these "things" with CPP is not the way to go, in 
fact, I'd like to see, if possible, almost no use of CPP in PETSc source. 
Reason: PETSc source code currently is the combination of two relatively simple 
but very different, languages CPP and C. Doing source to source manipulations 
on this beast is a nightmare because one cannot even parse CPP plus C. If we 
eliminate the CPP then it becomes only C which we parse and manipulate 
relatively easily, this opens up enormous opportunities for a whole new 
approach to code development we do not have currently and cannot have with a 
CPP plus C code base. Of course, I could be totally on the wrong track but I 
won't know without investigation.

  Honestly I am sick of having this big code base where making changes means 
editing flat files and manually changing source code, I thinking that model 
really needs to change. I don't really know how to change the model but I 
really want to see if change and if that involves going down some wrong roads 
that is ok with me, better than not trying things.

  Barry



Reply via email to