Code Monkey home page Code Monkey logo

shirofaii / pharo-vm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pharo-project/pharo5-vm

0.0 2.0 0.0 75.85 MB

The PharoVM repository

Home Page: https://ci.inria.fr/pharo/view/5.0-VM-Spur/

License: Other

Shell 1.46% Smalltalk 28.17% Rebol 0.01% HTML 1.72% C 39.66% Assembly 1.08% C++ 19.99% Makefile 2.56% Objective-C 2.74% Pawn 0.01% OpenEdge ABL 0.18% DTrace 0.01% CSS 0.01% Groff 2.31% M4 0.02% PHP 0.01% CMake 0.01% Batchfile 0.01% Awk 0.01% Python 0.09%

pharo-vm's Introduction

Build Status

REQUIREMENTS

The build relies on a valid gcc, cmake and 32 bit headers installation:

Building the VM

  1. Download the sources from github
git clone --depth=1 https://github.com/pharo-project/pharo-vm.git
cd pharo-vm

Note the windows specific steps mentioned in the win32 readme.

  1. Get a fresh pharo image from the build server by running the script in the image folder.
cd image && ./newImage.sh
  1. generator.image now contains VMMaker with the Slang sources, plus a workspace with some example VM configurations. In case there is no workspace, open one and paste the line you need. Pick or edit the configuration you want, then evaluate it (Do It).
"Unix"
PharoVMSpur32Builder buildUnix32.
"OSX"
PharoVMSpur32Builder buildMacOSX32.
"Windows"
PharoVMSpur32Builder buildWin32.

See startup.st for more examples for the common platforms.

As an alternative, try (Windows flavor shown):

./pharo generator.image eval 'PharoVMSpur32Builder buildWin32'

Should you want to build a StackVM version, use the PharoSVMSpur32Builder.

  1. Once the sources are exported, you can launch cmake and build the VM:
cd ../build
bash build.sh

Before doing that, you would be well advised to make a tar or zipfile of the whole folder in case you encounter a compilation/resources download problem as doing the whole process above is quite long.

  1. Finally, run the freshly compiled VM from results.

Building for iOS

Information on how to build a VM for iOS can be found here.

Building the VM from an IDE

If you want to build the virtual machine from an IDE, you could ask cmake to generate the IDE project for you. At step 4, instead of calling build.sh, you can run:

cd ../build
if [ ! -e vmVersionInfo.h ]; then
        ../scripts/extract-commit-info.sh
fi
cmake . -G Xcode

It will generate a project for Xcode. Other options are available like Visual Studio. Then open the project from your IDE and compile from there.

Acknowledge

The Pharo VM is a flavour of the Cog VM, a new and fast VM for Pharo, Squeak and Newspeak. It implements context-to-stack mapping, JIT (just in time compiler), PIC (polymorphic inline caching), Multi-threading, etc.

For more data about the Cog VM, please visit the offical Cog website

pharo-vm's People

Contributors

estebanlm avatar camillobruni avatar sig avatar theseion avatar jeanbaptistearnaud avatar guillep avatar zecke avatar ronsaldo avatar nicolaihess avatar philippeback avatar smarr avatar damiencassou avatar demarey avatar clementbera avatar takano32 avatar cdlm avatar syrel avatar darrinm avatar gurehamu avatar lucfabresse avatar marianopeck avatar nicolas-cellier-aka-nice avatar tesonep avatar peteruhnak avatar thierrygoubier avatar

Watchers

Scorik Egor avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.