Hi Frank,<br><br><div class="gmail_quote">On Wed, Jul 21, 2010 at 11:41 AM, Frank Shearar <span dir="ltr"><<a href="mailto:frank.shearar@angband.za.org">frank.shearar@angband.za.org</a>></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'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're building vm-sound-OSS. If not, that plugin'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's turned into a file plugins.exc (for "except", 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'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="$withval"],<br>
[with_vm_sound_OSS="yes"])<br>
if test "$with_vm_sound_OSS"="no"; 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'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 ' ' '\012' | sort -u > plugins.exc</div><div><br></div><div>I'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'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'm happy to do the legwork here, but I've never touched autoconf or m4 stuff in my life. Any hints would be greatly appreciated!<br></blockquote><div><br></div><div>I've hacked until I could get Cog to compile but that'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 & $HOME/bin/findcvs, etc.<br>
<br>
#!/bin/sh<br>
#IFS=<tab><nl><br>
IFS='<br>
'<br>
DIR=.svn<br>
case $0 in<br>
*git) DIR=.git;;<br>
*cvs) DIR=CVS;;<br>
esac<br>
DIRS=<br>
while [ -n "$1" -a -d "$1" ]; do<br>
DIRS="$DIRS $1"<br>
shift<br>
done<br>
find ${DIRS:-.} -name $DIR -prune -o \( "$@" \) | grep -v /$DIR<br>
<br>
On Tue, Jul 20, 2010 at 1:29 AM, Frank Shearar<br></div><div class="im">
<<a href="mailto:frank.shearar@angband.za.org" target="_blank">frank.shearar@angband.za.org</a> <mailto:<a href="mailto:frank.shearar@angband.za.org" target="_blank">frank.shearar@angband.za.org</a>>> 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've tried grepping the contents of the mcz, and can't find any<br>
mention of "disabled".<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>