[Pharo-project] Building Pharo and Plugins for Mac OS X and Linux
Hi, I am new to Pharo and wonder if there is a step by step instruction on building Pharo for Mac OS X and Linux. I am working on a project that requires extension either through itself or via plugins. I have been seeing the mention of VMaker but can't find a good document about it. Thanks a lot for the help. David Li
On Mon, Jan 4, 2010 at 7:19 PM, David Li <taweili@yahoo.com> wrote:
Hi,
I am new to Pharo
Hi and welcome!
and wonder if there is a step by step instruction on building Pharo for Mac OS X and Linux.
The only thing I am aware of is http://code.google.com/p/pharo/wiki/BuildingAVMOnPharo
I am working on a project that requires extension either through itself
what do you mean "trought itself" ? You just need to write a plugin or change the VM ? Why you need to tho that ? I ask because maybe someone has even a better solution or advice for you. Cheers Mariano
or via plugins. I have been seeing the mention of VMaker but can't find a good document about it.
Thanks a lot for the help.
David Li
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
David check the squeak documentation on how to invoke external library with FFI. In pharo you have also alien (not tested on non intel - works on mac). You do not have to recompile the vm to invoke external library. You define methods with specific pragmas annotations and the plugin code can be invoked. One if these days we should write a better doc http://wiki.squeak.org/squeak/2426 http://www.is.titech.ac.jp/~ohshima/squeak/DShowVideo/index.html http://www.visoracle.com/squeak/faq/ffi-windows.html http://wiki.squeak.org/squeak/356 VMMaker is published on SqueakSource. May be people with more experience will comment. Stef On Jan 4, 2010, at 7:19 PM, David Li wrote:
Hi,
I am new to Pharo and wonder if there is a step by step instruction on building Pharo for Mac OS X and Linux. I am working on a project that requires extension either through itself or via plugins. I have been seeing the mention of VMaker but can't find a good document about it.
Thanks a lot for the help.
David Li
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mon, Jan 04, 2010 at 09:04:26PM +0100, St?phane Ducasse wrote:
David check the squeak documentation on how to invoke external library with FFI. In pharo you have also alien (not tested on non intel - works on mac).
You do not have to recompile the vm to invoke external library. You define methods with specific pragmas annotations and the plugin code can be invoked.
One if these days we should write a better doc
http://wiki.squeak.org/squeak/2426 http://www.is.titech.ac.jp/~ohshima/squeak/DShowVideo/index.html http://www.visoracle.com/squeak/faq/ffi-windows.html http://wiki.squeak.org/squeak/356
VMMaker is published on SqueakSource. May be people with more experience will comment.
Tim Rowledge's explanation of VMMaker is here: http://wiki.squeak.org/squeak/2105 You will also find detailed instructions for VM builders along with the platform source code, which is maintained in a Subversion source code repository at squeakvm.org: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/ For example, documentation on building for Unix (Linux) will be found here: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/doc/HowToBuildF... And for Windows: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/win32/docs/?rev=2147 which points to: http://squeakvm.org/win32/ And for Mac OS: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Document... as well as other documents that John mentioned in his reply. In other words, after you download the platform source code from the Subversion repository, you will find detailed documentation in the subdirectory for each of the major platforms. There is also a mailing list for the VM: http://lists.squeakfoundation.org/mailman/listinfo/vm-dev Dave
this is cool! Stef On Jan 5, 2010, at 5:21 AM, David T. Lewis wrote:
On Mon, Jan 04, 2010 at 09:04:26PM +0100, St?phane Ducasse wrote:
David check the squeak documentation on how to invoke external library with FFI. In pharo you have also alien (not tested on non intel - works on mac).
You do not have to recompile the vm to invoke external library. You define methods with specific pragmas annotations and the plugin code can be invoked.
One if these days we should write a better doc
http://wiki.squeak.org/squeak/2426 http://www.is.titech.ac.jp/~ohshima/squeak/DShowVideo/index.html http://www.visoracle.com/squeak/faq/ffi-windows.html http://wiki.squeak.org/squeak/356
VMMaker is published on SqueakSource. May be people with more experience will comment.
Tim Rowledge's explanation of VMMaker is here: http://wiki.squeak.org/squeak/2105
You will also find detailed instructions for VM builders along with the platform source code, which is maintained in a Subversion source code repository at squeakvm.org: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/
For example, documentation on building for Unix (Linux) will be found here: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/doc/HowToBuildF...
And for Windows: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/win32/docs/?rev=2147 which points to: http://squeakvm.org/win32/
And for Mac OS: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Document... as well as other documents that John mentioned in his reply.
In other words, after you download the platform source code from the Subversion repository, you will find detailed documentation in the subdirectory for each of the major platforms.
There is also a mailing list for the VM: http://lists.squeakfoundation.org/mailman/listinfo/vm-dev
Dave
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
It's nice to see there's more info about VM's than I thought, it would be even nicer to have it all gathered in just one place and up to date so it's easier to find it. Recently I started compiling my own unix VMs and as I was very confused at first, I decided to write a small guide for beginers to share my experiences (and to remember the steps after some time). It has some still-unanswered questions, but is thought for beginners, so it might help you. The link is this: http://wwew.javipimas.com.ar/node/2 <http://www.javipimas.com.ar/node/2> hope it helps. regards, Javier. On Tue, Jan 5, 2010 at 1:21 AM, David T. Lewis <lewis@mail.msen.com> wrote:
On Mon, Jan 04, 2010 at 09:04:26PM +0100, St?phane Ducasse wrote:
David check the squeak documentation on how to invoke external library with FFI. In pharo you have also alien (not tested on non intel - works on mac).
You do not have to recompile the vm to invoke external library. You define methods with specific pragmas annotations and the plugin code can be invoked.
One if these days we should write a better doc
http://wiki.squeak.org/squeak/2426 http://www.is.titech.ac.jp/~ohshima/squeak/DShowVideo/index.html<http://www.is.titech.ac.jp/%7Eohshima/squeak/DShowVideo/index.html> http://www.visoracle.com/squeak/faq/ffi-windows.html http://wiki.squeak.org/squeak/356
VMMaker is published on SqueakSource. May be people with more experience will comment.
Tim Rowledge's explanation of VMMaker is here: http://wiki.squeak.org/squeak/2105
You will also find detailed instructions for VM builders along with the platform source code, which is maintained in a Subversion source code repository at squeakvm.org: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/
For example, documentation on building for Unix (Linux) will be found here:
http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/doc/HowToBuildF...
And for Windows:
http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/win32/docs/?rev=2147 which points to: http://squeakvm.org/win32/
And for Mac OS:
http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Document... as well as other documents that John mentioned in his reply.
In other words, after you download the platform source code from the Subversion repository, you will find detailed documentation in the subdirectory for each of the major platforms.
There is also a mailing list for the VM: http://lists.squeakfoundation.org/mailman/listinfo/vm-dev
Dave
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Javier Pimás Ciudad de Buenos Aires
thanks! Stef On Jan 5, 2010, at 3:55 PM, Javier Pimás wrote:
It's nice to see there's more info about VM's than I thought, it would be even nicer to have it all gathered in just one place and up to date so it's easier to find it. Recently I started compiling my own unix VMs and as I was very confused at first, I decided to write a small guide for beginers to share my experiences (and to remember the steps after some time). It has some still-unanswered questions, but is thought for beginners, so it might help you. The link is this:
http://wwew.javipimas.com.ar/node/2
hope it helps.
regards, Javier.
On Tue, Jan 5, 2010 at 1:21 AM, David T. Lewis <lewis@mail.msen.com> wrote: On Mon, Jan 04, 2010 at 09:04:26PM +0100, St?phane Ducasse wrote:
David check the squeak documentation on how to invoke external library with FFI. In pharo you have also alien (not tested on non intel - works on mac).
You do not have to recompile the vm to invoke external library. You define methods with specific pragmas annotations and the plugin code can be invoked.
One if these days we should write a better doc
http://wiki.squeak.org/squeak/2426 http://www.is.titech.ac.jp/~ohshima/squeak/DShowVideo/index.html http://www.visoracle.com/squeak/faq/ffi-windows.html http://wiki.squeak.org/squeak/356
VMMaker is published on SqueakSource. May be people with more experience will comment.
Tim Rowledge's explanation of VMMaker is here: http://wiki.squeak.org/squeak/2105
You will also find detailed instructions for VM builders along with the platform source code, which is maintained in a Subversion source code repository at squeakvm.org: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/
For example, documentation on building for Unix (Linux) will be found here: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/doc/HowToBuildF...
And for Windows: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/win32/docs/?rev=2147 which points to: http://squeakvm.org/win32/
And for Mac OS: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Document... as well as other documents that John mentioned in his reply.
In other words, after you download the platform source code from the Subversion repository, you will find detailed documentation in the subdirectory for each of the major platforms.
There is also a mailing list for the VM: http://lists.squeakfoundation.org/mailman/listinfo/vm-dev
Dave
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Javier Pimás Ciudad de Buenos Aires _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Tue, Jan 05, 2010 at 11:55:40AM -0300, Javier Pim??s wrote:
It's nice to see there's more info about VM's than I thought, it would be even nicer to have it all gathered in just one place and up to date so it's easier to find it. Recently I started compiling my own unix VMs and as I was very confused at first, I decided to write a small guide for beginers to share my experiences (and to remember the steps after some time). It has some still-unanswered questions, but is thought for beginners, so it might help you. The link is this:
http://wwew.javipimas.com.ar/node/2 <http://www.javipimas.com.ar/node/2>
hope it helps.
Javier, This is a really good introduction. It explains the process clearly, and your diagram does a nice job of showing how the pieces come together. Well done! Regarding your question on the web page:
I've read that pharo uses a modified OE that supports full closures, but I don't know what changes you have to introduce to make them work. Anyway, I don't know if closures aren't used that much, or the default code already ingtegrates them but my pharo images never complained of my handmade OEs, so the VMMaker package seems to be the same for both Pharo and Squeak.
All current VMs provide closure support, which is included in the VMMaker package. If your image uses closures, then the VM supports them and there are no modifications required. Pharo, Squeak trunk, and Cuis images all use closures now, other others (e.g. SqueakLand) will probable have this added as time goes on. Dave
Ok, for the os-x the build instructions are here http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Document... If you want to build the os-x V5 beta version, then get the SVN tree from here http://svn.isqueak.org/vm/ and build the SqueakPureObjc.xcodeproj For linux http://squeakvm.org/unix/ That all precludes the install & setup of VMMaker, but I always view that as the *easy* part. On 2010-01-04, at 10:19 AM, David Li wrote:
Hi,
I am new to Pharo and wonder if there is a step by step instruction on building Pharo for Mac OS X and Linux. I am working on a project that requires extension either through itself or via plugins. I have been seeing the mention of VMaker but can't find a good document about it.
Thanks a lot for the help.
David Li
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
participants (6)
-
David Li -
David T. Lewis -
Javier Pimás -
John M McIntosh -
Mariano Martinez Peck -
Stéphane Ducasse