[Vm-dev] Help me change plugin search logic

Igor Stasenko siguctua at gmail.com
Sun Jun 10 01:21:32 UTC 2012


Hi, Esteban & all.

I'd like to change the OSX-VM plugin lookup logic.

In cmake config, i changed the destination path for external plugins in bundle,
now they are placed in:

<vm>.app/Contents/Plugins
instead of
<vm>.app/Contents/Resources

It is more appropriate, so we don't mix resource files and libraries.

and i'd like to change VM, so it should look at that dir instead of Resources.

But i cannot read this code...
Can you tell me what needs to be changed here:

File:

platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m

line:171: 	/* first, look in the "<Squeak VM directory>Plugins"
directory for the library */
	NSString *pluginDirPath =
[[gDelegateApp.squeakApplication.vmPathStringURL path]
stringByAppendingPathComponent: @"Plugins/"];
	NSString *vmDirPath = [[NSBundle mainBundle] resourcePath];

	if (((sqSqueakOSXInfoPlistInterface*)
gDelegateApp.squeakApplication.infoPlistInterfaceLogic).SqueakPluginsBuiltInOrLocalOnly)
{
	  if ( (handle= tryLoading( vmDirPath, pluginName)) || (handle=
tryLoading( pluginDirPath,	pluginName)))
			return handle;
    } else {
		  if ((   handle= tryLoading( pluginDirPath,	pluginName))
			  || (handle= tryLoading( @"./",			pluginName))
			  || (handle= tryLoading( vmDirPath,		pluginName))
			  || (handle= tryLoading( @"",				pluginName))
			  )
			return handle;
	}


P.S. I finished work on bundling with 3rd party libs.
I can automatically build VM, bundled together with Cairo and freetype..

But i need the changes, described above before integrating all i did :)

-- 
Best regards,
Igor Stasenko.


More information about the Vm-dev mailing list