<div dir="ltr">Yes, makes sense. Thanks. I will work on simplify it, based on your directives.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 4, 2016 at 2:16 PM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Gerardo,<br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Tue, Oct 4, 2016 at 12:32 AM, Gerardo Santana Gómez Garrido <span dir="ltr">&lt;<a href="mailto:gerardo.santana@gmail.com" target="_blank">gerardo.santana@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Yes, energy and will.<div><br></div><div>Actually I would like to keep autoconf. I found out some duplicated code in the build.* directories that could probably be solved by using the autotools properly.<div><br></div><div>Are you strongly opposed to using autotools? May I try to make it work?</div></div></div></blockquote><div><br></div></span><div>No, I&#39;m not.  I&#39;m opposed to running it on each build.  The scheme we&#39;ve agreed upon is as follows (and I&#39;m cc&#39;ing vm-dev to include others working on this):</div><div><br></div><div>1. The correct realm for autoconf is in determining what facilities the platform provides, /not/ for deciding how to configure the VM, /not/ for generating Makefiles, etc.  So autoconf (or CMake) should be run once per platform (updating after significant third-party software is installed, C compiler is updated, etc), and produces a config.h in the relevant build directory, e.g. build.linux32x86/config.h.</div><div><br></div><div>2. the VM is to be configured from config.h (which informs us as to what third-party libraries, os facilities, word sizes, etc are available for the current platform), the Makefile (e.g. build.macos32x86/pharo.cog.spu<wbr>r/Makefile), and <a href="http://plugins.int" target="_blank">plugins.int</a> and plugins.ext (to determine the set of plugins to attempt to build; their makefiles may further filter-out plugins depending on available third-party libraries).</div><div><br></div><div>So the build scheme we&#39;re trying to move towards is</div><div><br></div><div>a) either autoconf or CMake is used to generate a config.h file in each build directory that defines platform facilities (#define HAS_EPOLL 1 et al).  This is run occasionally, /not/ on every build</div><div><br></div><div>b) use conventional Gnu Make makefiles, avoiding all the mkmf scripts in platforms/unix/conf, to build specific VMs</div><div><br></div><div>Does that make sense?  For me this is very important.  See</div><div><br></div><div><a href="http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2016-February/119002.html" target="_blank">http://lists.pharo.org/piperma<wbr>il/pharo-dev_lists.pharo.org/<wbr>2016-February/119002.html</a><br></div><div><br></div><div>and this is from a Squeak Oversight Board discussion before we moved to githug:</div><div><br></div><div>&quot;<span style="color:rgb(0,0,0);font-family:arial;font-size:15px">It was decided to leave the build system as-is using </span><span class="m_6723802019241654406gmail-il" style="color:rgb(0,0,0);font-family:arial;font-size:15px">GNU</span><span style="color:rgb(0,0,0);font-family:arial;font-size:15px"> </span><span class="m_6723802019241654406gmail-il" style="color:rgb(0,0,0);font-family:arial;font-size:15px">Makefiles</span><span style="color:rgb(0,0,0);font-family:arial;font-size:15px"> where available with a commitment to move to </span><span class="m_6723802019241654406gmail-il" style="color:rgb(0,0,0);font-family:arial;font-size:15px">GNU</span><span style="color:rgb(0,0,0);font-family:arial;font-size:15px"> </span><span class="m_6723802019241654406gmail-il" style="color:rgb(0,0,0);font-family:arial;font-size:15px">Makefiles</span><span style="color:rgb(0,0,0);font-family:arial;font-size:15px"> on Linux. We will use CMake to produce per-platform </span><span class="m_6723802019241654406gmail-il" style="color:rgb(0,0,0);font-family:arial;font-size:15px">config</span><span style="color:rgb(0,0,0);font-family:arial;font-size:15px"> files that identify platform facilities (such as epoll(2) vs kqueue(2) vs poll(s) vs select(3)).&quot;</span></div><span class=""><div><span style="color:rgb(0,0,0);font-family:arial;font-size:15px"><br></span></div><div><span style="color:rgb(0,0,0);font-family:arial;font-size:15px"><br></span></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_extra"><div><div class="m_6723802019241654406gmail-m_-8807593443280937947gmail-h5"><br><div class="gmail_quote">On Mon, Oct 3, 2016 at 8:26 PM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hi Gerardo,<div><br></div><div>    welcome!<br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Sun, Oct 2, 2016 at 8:45 AM, Gerardo Santana Gómez Garrido <span dir="ltr">&lt;<a href="mailto:gerardo.santana@gmail.com" target="_blank">gerardo.santana@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hi Eliot,<div><br></div><div>what is the proper way to ask questions regarding building Clog?</div><div><br></div><div>I just found that in opensmalltalk-vm/platforms/<wbr>unix/config, configure is not in sync with <a href="http://configure.ac" target="_blank">configure.ac</a></div></div></blockquote><div><br></div></span><div>It may or may not be.  Currently I can only reliably run make to generate a new configure script on CentOS 5.3.  If I try on e.g. 6.x I get an invalid configure.  We hope to eliminate configure soon and use a makefile style similar to the Mac and Windows platforms.  Do you have energy to contribute to this?</div><span><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Thanks in advance.</div><div><br></div><div>P. S. I have made squeak.clog.spur compile on OpenBSD, but I&#39;m looking for a better way to do it.<span class="m_6723802019241654406gmail-m_-8807593443280937947gmail-m_-7281565594719977245m_8456170809826141245HOEnZb"><font color="#888888"><br clear="all"><div><br></div>-- <br><div class="m_6723802019241654406gmail-m_-8807593443280937947gmail-m_-7281565594719977245m_8456170809826141245m_140639793191973049gmail_signature">Gerardo Santana</div>
</font></span></div></div>
</blockquote></span></div><br><br><div class="m_6723802019241654406gmail-m_-8807593443280937947gmail-m_-7281565594719977245m_8456170809826141245gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class="m_6723802019241654406gmail-m_-8807593443280937947gmail-HOEnZb"><font color="#888888">-- <br><div class="m_6723802019241654406gmail-m_-8807593443280937947gmail-m_-7281565594719977245gmail_signature">Gerardo Santana</div>
</font></span></div>
</blockquote></span></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_6723802019241654406gmail-m_-8807593443280937947gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Gerardo Santana</div>
</div>