FFI Question on Linux

Tim Rowledge tim at sumeru.stanford.edu
Mon Oct 23 01:31:13 UTC 2000


As kevin noted, he had t orebuild the VM to ge the ffi plugin built; so
far as I can understand the makefiles that is because Ian explicitly
removes the plugin from the build list; his comment is:-
" # damage containment: never, ever build internal FFI plugin "

> Of course, when I rebuilt the VM there were no pluginized modules beyond 
> Profiler.so and one other...there was no SqueakFFIPrims.so, so it must have 
> all been built in to the VM.  I'm still a little in the dark about building a 
> modular VM on UNIX..
THere are two ways you can make modules be compiled externally.
1) Simply rebuild the main vm sources without the external plugins (edit
the Interpreter class>translate:doInlining:forBrowser: method to remove
the appropriate names from thelist) and then build the external plugin
with
	FooPlugin translate
and then move the FooPlugin/FooPlugin.[ch] files into the main
src/generated drectory, then run Ian's configure script thingy to
rebuild the makefile, then make the vm as per usual.

2) Do as above but leave the FooPlugin files in the FooPlugin directory,
move any platform or other needed files relating to the FooPlugin into
the FooPlugin directory. Delete the FooPlugin lines from the
unix/PLUGINS file. Redo the configure and remake.

My personal preference is for 2) since I like the very obvious
separation of the files. I think the configure 'discovery' process is
simpler as well, but either way will work for now.

I am working on a Squeak tool to make this simpler to do - the selection
of internal vs. external, vs don't build at all (not all platforms need
all plugins) and where the go. It might even be possible to make the
makefile, but I'm not certain about that.

tim

-- 
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Love may be blind, but marriage is a real eye-opener.





More information about the Squeak-dev mailing list