I like this idea.  I've seen this called "extern" in other projects, but I 
don't have a strong feeling about the name.  I think it's good idea for all of 
the reasons you mention.

Mike
________________________________________
From: Ian Thomas [ianthoma...@gmail.com]
Sent: Sunday, October 06, 2013 4:09 PM
To: matplotlib-devel@lists.sourceforge.net
Subject: [matplotlib-devel] Directories for C/C++ extensions

Fellow developers,

I am working on a PR to replace the use of matplotlib.delaunay with the Qhull 
library.  Installation will be similar to the existing packages LibAgg and CXX 
in that if the system already has a sufficiently recent version of Qhull 
installed then matplotlib will use that, otherwise it will build the required 
library from the source code shipped with matplotlib.

I have a thin C wrapper called qhull_wrap.c (following the coding guidelines) 
which I'll put in the top-level src directory along with most of the existing 
C/C++ extensions.  But my question is where to put the qhull source code?

Current practice has separate top-level directories called agg24 and CXX for 
the LibAgg and CXX packages respectively, so my initial thought was to follow 
this and create a new top-level directory called qhull to place the library 
code in.  But I don't like this approach of creating a new top-level directory 
as (1) I think the top-level should remain as simple and uncluttered as 
possible, (2) it tends to overemphasize the importance of these third-party 
libraries as they are some of the first directories users see when unzipping 
the mpl tarball, and (3) it is not immediately obvious that the code in these 
directories is from third-party libraries rather than something we ourselves 
have written.

Hence my preference is to create a new top-level directory called something 
like 'third-party' (or should that be 'third_party'?), and place all the 
third-party libraries in that; i.e. move the agg24 and CXX directories into 
third-party, and place the new qhull source code in third-party/qhull.

What do others think of this idea?

Ian Thomas

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to