[Vm-dev] Why the hell directives for compiling with clang were not taken into account

Eliot Miranda eliot.miranda at gmail.com
Tue Apr 3 20:31:02 UTC 2018


Hi Subbu,

On Tue, Apr 3, 2018 at 10:35 AM, K K Subbu <kksubbu.ml at gmail.com> wrote:

>
> On Tuesday 03 April 2018 08:54 PM, Eliot Miranda wrote:
>
> If we don't intend to support all the 100+ variants of
>>> GNU/UNIX/Linux out there but only a handful, then manual makefiles
>>> are sufficient.
>>>
>>
>> It's not that we do of do not intend, it's that we simply cannot
>> afford to and it is not relevant to our current needs.  We instead
>> need to support a much smaller number of operating systems well,
>> namely Linux and maybe FreeBSD, although I don't see much energy
>> there.  We could keep the old build system for those that want to
>> build their own vm on something exotic (although I'd still argue that
>> they would do as well working with conventional makefiles).  But it
>> is no longer fit for purpose in the continuous integration context we
>> now inhabit.
>>
>
> Valid point. The CI pipeline requires a different approach.
>
>
>>> GNU Make is available on GNU/Linux/Mac/Win so we could create a
>>> single top level Makefile for all three platform builds and let the
>>> configure handle other ports.
>>>
>>
>> Having modified Andreas' makefiles for windows, and having written
>> the makefiles for the Mac build I can say that a common top level
>> makefiles is not a good idea.  It would be even more of a mess of
>> ifdefs.  But certain not following the way nudes and Mac OS schemes
>> is sensible.  The important thing is to get rid of the extremely hard
>> to modify, slow autoconf based system used for Linux builds.
>>
>
> A top level Makefile does not exclude platform-specific Makefiles, nor
> should it attempt a cross-platform build by itself.
>
> The purpose of top level Makefile is general help, handle version tags,
> possible products and variants etc. It should delegate the actual build to
> platform-specific make. Similar to how we use OSProcess as a facade over
> OSUnixProcess etc.
>

Ah, thanks.  That makes sense.  Cool.


> In fact, I am making one for my own use. Once it stabilizes, I will offer
> a PR.
>

Looking forward to it; thanks.


>
> The downsides to spreading Makefiles into build dirs is explosion of
> directories under version control and duplication of code. It also means
> that I cannot mount build on tmpfs/ramfs. Keeping Makefile templates under
> platform/win32/.. and copying them to build/ as needed will simplify
> version control and avoid duplicate code.
>
> Regards .. Subbu
>



-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20180403/a28914a2/attachment-0001.html>


More information about the Vm-dev mailing list