Hi Frank,<br><br><div class="gmail_quote">On Wed, Jul 21, 2010 at 11:41 AM, Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@angband.za.org">frank.shearar@angband.za.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Ah, that leads me right to the problem. Thanks, Eliot!<br>
<br>
OK, so first, the standard warning that I&#39;m a clueless newbie, so please forgive any silly questions.<br>
<br>
It looks like this is what happens: when you run configure, lines 27296 - 27362 check to see if you&#39;re building vm-sound-OSS. If not, that plugin&#39;s added to the variable disabled_plugins.<br>
<br>
But later, lines 28696 - 28708 do the same thing. (Checkpoint 1)<br>
<br>
Later on, that variable&#39;s turned into a file plugins.exc (for &quot;except&quot;, I guess).<br>
<br>
mktarget then builds a disabledPlugins.c with duplicate entries for those two plugins.<br>
<br>
Going back to Checkpoint 1 above, configure itself looks like it&#39;s generated by something (autoconf?) from <a href="http://configure.ac" target="_blank">configure.ac</a>, which has special cases for the Problem Plugins:<br>

<br>
AC_ARG_WITH(vm-sound-OSS,<br>
[  --without-vm-sound-OSS      disable OSS vm sound support default=enabled]],<br>
  [with_vm_sound_OSS=&quot;$withval&quot;],<br>
  [with_vm_sound_OSS=&quot;yes&quot;])<br>
if test &quot;$with_vm_sound_OSS&quot;=&quot;no&quot;; then<br>
       AC_PLUGIN_DISABLE_PLUGIN(vm-sound-OSS);<br>
fi<br>
<br>
So this and the corresponding chunk for vm-display-fbdev must be commented out, and configure regenerated, and then presumably disabledPlugins.c won&#39;t have duplications.<br></blockquote><div><br></div><div>I think the fix here is to make the disabledPlugins list unique, done in <a href="http://configure.ac">configure.ac</a> via</div>
<div> echo ${disabled_plugins} | tr &#39; &#39; &#39;\012&#39; | sort -u &gt; plugins.exc</div><div><br></div><div>I&#39;ll check this in.</div><div><br></div><div>But the more serious issue is that the configure in VMMaker is only suitable for linux.  I guess that the right thing to do for FreeBSD is to run make in platforms/unix/config to generate a FreeBSD-specific configure.  But I&#39;m out of my depth when it comes to autoconf.</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Now I&#39;m happy to do the legwork here, but I&#39;ve never touched autoconf or m4 stuff in my life. Any hints would be greatly appreciated!<br></blockquote><div><br></div><div>I&#39;ve hacked until I could get Cog to compile but that&#39;s a long way from understanding what the right thing to do here is.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font color="#888888">
<br>
frank</font><div class="im"><br>
<br>
On 2010/07/20 19:37, Eliot Miranda wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<br>
<br>
<br>
<br>
platforms/unix/config/mktargets<br>
<br>
e.g. find platforms -name .svn -print -o \( -type f \) -exec grep -H<br>
disabledPlugins {} \; | fgrep -v .svn<br>
<br>
which is useful enough to wrap up in a script (which I link to<br>
$HOME/bin/findsvn $HOME/bin/findgit &amp; $HOME/bin/findcvs, etc.<br>
<br>
#!/bin/sh<br>
#IFS=&lt;tab&gt;&lt;nl&gt;<br>
IFS=&#39;<br>
&#39;<br>
DIR=.svn<br>
case $0 in<br>
*git)   DIR=.git;;<br>
*cvs)   DIR=CVS;;<br>
esac<br>
DIRS=<br>
while [ -n &quot;$1&quot; -a -d &quot;$1&quot; ]; do<br>
         DIRS=&quot;$DIRS     $1&quot;<br>
         shift<br>
done<br>
find ${DIRS:-.} -name $DIR -prune -o \( &quot;$@&quot; \) | grep -v /$DIR<br>
<br>
On Tue, Jul 20, 2010 at 1:29 AM, Frank Shearar<br></div><div class="im">
&lt;<a href="mailto:frank.shearar@angband.za.org" target="_blank">frank.shearar@angband.za.org</a> &lt;mailto:<a href="mailto:frank.shearar@angband.za.org" target="_blank">frank.shearar@angband.za.org</a>&gt;&gt; wrote:<br>

<br>
<br>
    When I check out and build the latest VM on FreeBSD,<br>
    disabledPlugins.c contains some duplicated definitions (reported in<br>
    an earlier mail).<br>
<br>
    I tried to find what generates that file in VMMaker, and failed.<br>
    I&#39;ve tried grepping the contents of the mcz, and can&#39;t find any<br>
    mention of &quot;disabled&quot;.<br>
<br>
    (But as long as I say --without-npsqueak, and remove the offending<br>
    duplications from disabledPlugins.c, the Cog VM compiled on FreeBSD!)<br>
<br>
    frank<br>
<br>
<br>
</div></blockquote>
<br>
</blockquote></div><br>