On 06 Apr 2015, at 10:08, Esteban Lorenzano <estebanlm@gmail.com> wrote:
On 06 Apr 2015, at 09:58, Andreas Wacknitz <a.wacknitz@gmx.de> wrote:
Am 06.04.15 09:51, schrieb Esteban Lorenzano:
On 06 Apr 2015, at 09:41, Andreas Wacknitz <A.Wacknitz@gmx.de> wrote:
Am 06.04.15 09:01, schrieb Esteban Lorenzano:
Hi,
there is no real rationale :( the reason why they are there now and not in their corresponding #defaultInternalPlugins or #defaultExternalPlugins is historic, configurations growth organically (we would need a refactor there). I fear not so many people could do that. I am scratching my head quite often while reading the code. BTW: PharoS is being used for Stack vm's so you should either find another abbreviation for Spur or choose the full name (that's what I would prefer). Otherwise it will get even harder in the future⦠we plan to drop support for plain cog vm and replace it for spur⦠so Pharo and PharoS will be both spur VMs⦠no need to complicate things here. Ah, OK. So probably I should wait until this happened and everythings settled down. One more question regarding the future: I guess there will be Spur32 and Spur64 vm's, right? If so, what are the plans regarding NativeBoost? Will there be a 64 bit version, too? (Ok, that's more than one question :))
Iâm working on a replacement that takes same syntax but uses regular FFI implementation instead ASM. This will re-orientate our efforts into a common FFI strategy in all platforms and joint with Eliot work. In that direction, there is some important work to speed up (with a new bytecode set and functions to FFI, Ronie and Eliot were working on it), plus a threaded ffi implementation, plus 64bits, plus ARM. So, no need on reinvent the wheel here. NB was important and a very good idea, but sadly we cannot maintain it as-is. ah, in case it was not clear: the replacement will be backward-compatible so no need to be scared here :)
Esteban
Regards Andreas
at least: FT2Plugin and SqueakSSLPlugin should be in defaults (and in the future SDL2 too).
for starting your build I suggest you to exclude all the additions (plugins and external libraries). then add them one by one. I already have a running version from almost one year ago. This time I will try to get further (eg. NativeBoost) and want to enhance my documentation. But it is time consuming and I would like to spend my time with more interesting things (using Pharo :)) :)
Cheers, Andreas
cheers, Esteban
On 06 Apr 2015, at 08:49, Andreas Wacknitz <A.Wacknitz@gmx.de> wrote:
Am 03.04.15 17:31, schrieb Esteban Lorenzano:
I have more questions but I am reluctant to disturb you further as you must be quite busy atm. ask, I will answer when I can :) Hi Esteban,
I am trying to understand the rationale behind PharoVMBuilder>>buildUnix32 (and similar methods like >>buildMacOSX32, >>buildFreeBSD32). How to determine which plugins and libraries to use? Linux makes use of PharoUnixConfig new "generateForDebug;" addExternalPlugins: #( FT2Plugin SqueakSSLPlugin SDL2DisplayPlugin ); addThirdpartyLibraries: #( 'libssh2' 'libgit2' 'libsdl2');
For FreeBSD it looks like this: PharoFreeBSDConfig new "generateForDebug;" addExternalPlugins: #( SqueakSSLPlugin ); addInternalPlugins: #( UnixOSProcessPlugin ); addThirdpartyLibraries: #( 'libssh2' 'libgit2' );
Mac OSX: PharoOSXConfig new "generateForDebug;" addExternalPlugins: #( FT2Plugin SDL2DisplayPlugin ); addInternalPlugins: #( UnixOSProcessPlugin ); addThirdpartyLibraries: #( 'cairo' 'libgit2' 'libssh2' 'libsdl2');
Windows: PharoWindowsConfig new addExternalPlugins: #( FT2Plugin SqueakSSLPlugin ); addInternalPlugins: #( SDL2DisplayPlugin ); addThirdpartyLibraries: #( 'cairo' 'libssh2' 'libgit2' 'libsdl2');
I assume that FreeBSD's configuration is not up-to-date (sdl2 and cairo not yet available?). Should I try to configure cairo, libssh2, libgit2 and libsdl2 libraries for openindiana, like it is done for Windows and MacOSX? Furthermore, should I try to configure SqueakSSLPlugin, FT2Plugin and SDL2DisplayPlugin as external plugins and UnixOSProcessPlugin as internal plugin?
Regards Andreas