[Vm-dev] What generates disabledPlugins.c?

Eliot Miranda eliot.miranda at gmail.com
Thu Jul 22 03:49:19 UTC 2010


Hi Frank,

On Wed, Jul 21, 2010 at 11:41 AM, Frank Shearar <
frank.shearar at angband.za.org> wrote:

>
> Ah, that leads me right to the problem. Thanks, Eliot!
>
> OK, so first, the standard warning that I'm a clueless newbie, so please
> forgive any silly questions.
>
> 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.
>
> But later, lines 28696 - 28708 do the same thing. (Checkpoint 1)
>
> Later on, that variable's turned into a file plugins.exc (for "except", I
> guess).
>
> mktarget then builds a disabledPlugins.c with duplicate entries for those
> two plugins.
>
> Going back to Checkpoint 1 above, configure itself looks like it's
> generated by something (autoconf?) from configure.ac, which has special
> cases for the Problem Plugins:
>
> AC_ARG_WITH(vm-sound-OSS,
> [  --without-vm-sound-OSS      disable OSS vm sound support
> default=enabled]],
>  [with_vm_sound_OSS="$withval"],
>  [with_vm_sound_OSS="yes"])
> if test "$with_vm_sound_OSS"="no"; then
>       AC_PLUGIN_DISABLE_PLUGIN(vm-sound-OSS);
> fi
>
> 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.
>

I think the fix here is to make the disabledPlugins list unique, done in
configure.ac via
 echo ${disabled_plugins} | tr ' ' '\012' | sort -u > plugins.exc

I'll check this in.

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.

>
> 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!
>

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.


>
> frank
>
>
> On 2010/07/20 19:37, Eliot Miranda wrote:
>
>>
>>
>>
>>
>> platforms/unix/config/mktargets
>>
>> e.g. find platforms -name .svn -print -o \( -type f \) -exec grep -H
>> disabledPlugins {} \; | fgrep -v .svn
>>
>> which is useful enough to wrap up in a script (which I link to
>> $HOME/bin/findsvn $HOME/bin/findgit & $HOME/bin/findcvs, etc.
>>
>> #!/bin/sh
>> #IFS=<tab><nl>
>> IFS='
>> '
>> DIR=.svn
>> case $0 in
>> *git)   DIR=.git;;
>> *cvs)   DIR=CVS;;
>> esac
>> DIRS=
>> while [ -n "$1" -a -d "$1" ]; do
>>         DIRS="$DIRS     $1"
>>         shift
>> done
>> find ${DIRS:-.} -name $DIR -prune -o \( "$@" \) | grep -v /$DIR
>>
>> On Tue, Jul 20, 2010 at 1:29 AM, Frank Shearar
>> <frank.shearar at angband.za.org <mailto:frank.shearar at angband.za.org>>
>> wrote:
>>
>>
>>    When I check out and build the latest VM on FreeBSD,
>>    disabledPlugins.c contains some duplicated definitions (reported in
>>    an earlier mail).
>>
>>    I tried to find what generates that file in VMMaker, and failed.
>>    I've tried grepping the contents of the mcz, and can't find any
>>    mention of "disabled".
>>
>>    (But as long as I say --without-npsqueak, and remove the offending
>>    duplications from disabledPlugins.c, the Cog VM compiled on FreeBSD!)
>>
>>    frank
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20100721/3c0e9c4f/attachment.htm


More information about the Vm-dev mailing list