<div class="gmail_quote">On Mon, Jan 3, 2011 at 5:13 PM, Samium Gromoff <span dir="ltr"><_<a href="mailto:deepfire@feelingofgreen.ru">deepfire@feelingofgreen.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

My impression was that ECL doesn't /add/ information anywhere -- it merely<br>
/forwards/ whatever is fed to it by autoconf. šIt's not intent, merely a<br>
lack of sophistication.šJuan, am I right? [...]<br>
In other words -- garbage in, garbage out -- :I686 is what ECL got from<br>
autoconf. šIf GCL copes with that -- it must be doing normalisation --<br>
which Juan is not interested in maintaining.</blockquote></div><div><br></div><div>Yes, and there is a logic for that which is that I can not anticipate the information or the nomenclature that is provided by different systems out there, maintain it and normalize it. I can't because I do not have that information which is scattered over the documentation of multiple compilers, software utilities, projects and intermediate tools such as Autoconf, X's make, etc. Furthermore, I have demonstrated here my ignorance of the appropriate naming, detection techniques and criteria for detecting those build modes.</div>

<div><br></div><div>The only reasonable thing that one may do, given that a C compiler and a sensible linker are used, is to <b>reexport</b> additional information. I attach one such possible utility which does not do any normalization at all, it simply extracts some "keywords" from the output of "file" and from the output of the C preprocessor, using the compiler flags that ECL was supplied. The output is a list of keywords in *system-features* (not *features*) randomly chosen after removing the standard C ones, which may or may not be useful at all, because they have not been really normalised, other than removing underscores here and there.</div>

<div><br></div><div>How useful this is, I do not know.šIf this file is found to be useful, I can add it to the build phase. Note thatšI am not going to merge this list with *features* because the list of items here is ultimately random and based on potentially useful patterns of names and keywords that a user might find interesting, and also because of the problem with feature name clutter.</div>

<div><br></div><div>I would also not maintain the list of keywords, because they are not needed by ECL and because I have no criteria to add/remove them, or time and resources to keep track of what compilers have exported, export or will export in the future as compiler macros. At most I can, on demand, add new names.</div>

<div><br></div><div><div>But note how the information that this program gathers comes from the C compiler, which provides exactly the same information as "file": ELF, compilation model (64 / 32 bits), etc, and I guess it is so for all platforms. Soš<b>this information could have been equally easily retrieved using standard autoconf testsšand the output of "ecl-config"</b>. in a more reliable way, as <b>the person writing the test would know what he/she is looking for which I do not.</b></div>

<div><br></div></div><div>Juanjo</div>