<div>What I meant is the following: ECL does not gather specific information about processor types and how they are used. Instead there are checks for C types, sizes and precisions , some of which are performed during the "autoconf" phase, some others when ECL is compiled. This information is available at runtime via the FFI package, size-of function and multiple constants (c-uint-max, etc).</div>
<div> </div>
<div>Is this enough?</div>
<div> </div>
<div>It depends. OpenAxiom contains a mixture of C++ and lisp code and decides how to compile the former based on the later. It does so using specific information about the system that the lisp implementation provides: processor type and ABI type (64-bit or 32-bit) It is assumed that the implementation must provide this because it is a compiler, even if we do not directly use that.</div>
<div> </div>
<div>Problem is I do not really know how to provide this in a way which is both portable and future proof.</div>
<div> </div>
<div>Autoconf tests are known to be broken, as processor names do not work on various platforms. THe notion of 64-bit or 32-bit is ambiguous unless we restrict ourselves to "pointer sizes" and in that case it is provided by ECL in the FFI. But I presume that what is being asked for is what DS mentioned about specific ABI names, but that means adding extra logic to autoconf, something which I do not know how to maintain -- and do not have the time to.</div>
<div> </div>
<div>Juanjo<br></div>
<div class="gmail_quote">On Thu, Dec 30, 2010 at 3:25 PM, Pascal J. Bourguignon <span dir="ltr"><<a href="mailto:pjb@informatimago.com">pjb@informatimago.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote"><br>I have no preconceived idea about your problem, however, I will note<br>that:<br><br>Juan Jose Garcia-Ripoll<br>
<div class="im"><<a href="mailto:juanjose.garciaripoll@googlemail.com">juanjose.garciaripoll@googlemail.com</a>> writes:<br><br>> Since ECL does not really care about the processor type, it is fine<br>> with it, and just works: it only relies on information provided by the<br>
> compiler, such as type sizes, alignments, and the like, which are<br>> found at compilation time.<br><br></div>Time of compilation of what?<br><br><br>While for C code, compilation time is a hard boundary, for lisp code it<br>
is less.<br><br>------------------------------------------------------------------------<br>(defvar *int-size* 0)<br>(defvar *example* 0)<br>(eval-when (:compile-toplevel)<br> (defparameter *example* 42)<br> (defparameter *int-size* (c:size-of c:int))) ; or whatever syntax<br>
------------------------------------------------------------------------<br><br>(compile-file "example.lisp")<br>--> #P"example.fas"<br> NIL<br> NIL<br><br>*example* --> 42<br>*int-size* --> ?<br>
<br><br>So it seems to me that ecl could provide the information also at<br>run-time.<br><br>--<br>__Pascal Bourguignon__ <a href="http://www.informatimago.com/" target="_blank">http://www.informatimago.com/</a><br>
A bad day in () is better than a good day in {}.<br><br><br>------------------------------------------------------------------------------<br>Learn how Oracle Real Application Clusters (RAC) One Node allows customers<br>
to consolidate database storage, standardize their database environment, and,<br>
should the need arise, upgrade to a full multi-node Oracle RAC database<br>without downtime or disruption<br><a href="http://p.sf.net/sfu/oracle-sfdevnl" target="_blank">http://p.sf.net/sfu/oracle-sfdevnl</a><br>_______________________________________________<br>
Ecls-list mailing list<br><a href="mailto:Ecls-list@lists.sourceforge.net">Ecls-list@lists.sourceforge.net</a><br><a href="https://lists.sourceforge.net/lists/listinfo/ecls-list" target="_blank">https://lists.sourceforge.net/lists/listinfo/ecls-list</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com/" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>