<br><br><div class="gmail_quote">On Mon, Mar 5, 2012 at 1:20 AM, Travis Oliphant <span dir="ltr"><<a href="mailto:travis@continuum.io" target="_blank">travis@continuum.io</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word"><div><div><blockquote type="cite"><div class="gmail_quote"><div><font face="'Bitstream Vera Sans Mono', 'Courier New', monospace" color="#dd1144"><span style="font-size:12px;line-height:16px;white-space:pre-wrap"><br>

</span></font></div><div>The place this is used inside of setup.py is here:</div>
<div><br></div><div><a href="https://github.com/numpy/numpy/blob/master/numpy/core/setup.py#L14" target="_blank">https://github.com/numpy/numpy/blob/master/numpy/core/setup.py#L14</a></div><div><br></div><div>I really dislike this build feature, it repeatedly trips me up. In my opinion, the build should be changed to always do separate compilation, and the single file mode should be eradicated.</div>


<div><br></div></div></blockquote><div><br></div></div><div>Nobody *likes* this build "feature".   If it can be eradicated let's do it, but when I wanted to early on I couldn't for various reasons.   I'm not convinced these reasons have been addressed.   </div>

<div><br></div></div></div></blockquote><div><br>This was David's contribution and wasn't put in, IIRC,  until the files were broken up in 1.3. The reason it isn't standard is that it was experimental at the time.<br>

 <br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div><div></div><div>The big problem I had (if I remember correctly) was getting the NumPy C-API to be exportable on all platforms (yet having the variables be static and hidden from the shared symbol-space) if it was assembled from multiple files.   The NumPy C-API uses a clever trick that was invented for Python back in the late 90s which was important for getting extensions that used the NumPy C-API to work on several platforms.  </div>

<div><br></div><div>If we can be assured that platforms that might have needed that are no longer needing NumPy (or there are work-arounds), then we can certainly get rid of a single-file build mode. </div><span><font color="#888888"><div>

<br></div></font></span></div></div></blockquote><div><br>We should probably make is standard for a while to see if it causes problems.<br><br>Chuck <br></div></div>