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