<p></p>
<p>David, with respect, I am currently trying to deploy an extremely complex Squeak application that includes C++, Objective-C, and mixed C++/Objective-C plugin code, threads, etc, on both MacOS and Windows.  I am not trying to defeat autoconf or anything.  I am trying to get the VM to compile.  Trying to clean up inconsistencies, and breakages, so that our company can deploy a product and does not fail.  I don't have time to suffer major disturbances in the VM code right now.  Please Tobias, if you want to include config.h in front of ever file go ahead, but do it on a branch.  I will note that only some projects take this approach, and many complex ones include config.h <em>after</em> system headers.  And that this approach makes sense.</p>
<p>A given platform's headers provide an API, alas as a white box<br>
Because the only guaranteed input to a platform's headers is compiler command-line switches, variations on the platform API, expressed through the system headers, are selected on the compiler command line (e.g. _GNU_SOURCE, POSIX, etc).</p>
<p>A config.h file from autoconf is a synopsis of a given variation of the system headers, defining to the program what facilities are available, without the rest of the program having to manually determine (often impossible at run-time, often hard to do so at compile-time).  It is a communication to the program, not a communication to the headers.</p>
<p>This isn't me being obstructive or trying to sabotage config.h or autoconf.  It is the architectural reality of C/C++/Objective-C, is it not?</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you commented.<br />Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42804536">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AIJPEW2UK27PNSYTXGNATETSIFKEHANCNFSM4R2XKNSA">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AIJPEW3RMTUVO77G5XFFVTLSIFKEHA5CNFSM4R2XKNSKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBI2JJY.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42804536",
"url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42804536",
"name": "View Commit"
},
"description": "View this Commit on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>