[Vm-dev] VM Maker: CMakeVMMakerSqueak-tty.65.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jun 18 13:26:19 UTC 2014


Timothy M uploaded a new version of CMakeVMMakerSqueak to project VM Maker:
http://source.squeak.org/VMMaker/CMakeVMMakerSqueak-tty.65.mcz

==================== Summary ====================

Name: CMakeVMMakerSqueak-tty.65
Author: tty
Time: 18 June 2014, 8:56:48.254 am
UUID: 9b9fbad5-5e6a-41f2-af02-c5a44bce7c69
Ancestors: CMakeVMMakerSqueak-tty.64

added stub class CMakeSourceDistroGeneratorForSqueak as reminder to add  Source Distributions to be adopted by various Distros.

=============== Diff against CMakeVMMakerSqueak-tty.64 ===============

Item was added:
+ CMakeVMGenerator subclass: #CMakeSourceDistroGeneratorForSqueak
+ 	instanceVariableNames: ''
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak'!
+ 
+ !CMakeSourceDistroGeneratorForSqueak commentStamp: 'tty 6/18/2014 08:12' prior: 0!
+ A CMakeSourceDistroGeneratorForSqueak does nothing at the moment.  Here is why I am here (2014.06.16 vm-dev list):
+ 
+ 
+ Hi Bert
+ Linux distros never package binaries compiled by someone else (*). What they need is a source tar ball that builds cleanly, and a list of dependencies.
+ 
+ hmmmm....
+ 
+ CMakeVMMaker has a CMakePluginGenerator and CMakeVMGenerator; I have a hunch a CMakeSourceDistroGenerator would fit right in.
+ 
+ 
+ The Design of CMakeVMaker is a big-ole Visitor pattern where configurations visit the Generators. We should be able to have them visit a CMakeSourceDistroGenerator and provide it
+ with the relevant information.
+ 
+ I will put in a stub-class for it as a reminder to look at when release 1 of this puppy is ready.
+ 
+ 
+ cheers.
+ 
+ tty
+ !

Item was changed:
+ CPlatformConfigForSqueak subclass: #Linux32x86SqueakStackSpurConfigz
- CPlatformConfig subclass: #Linux32x86SqueakStackSpurConfigz
  	instanceVariableNames: 'buildType'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'CMakeVMMakerSqueak-IslandOfMisfitToys'!

Item was changed:
+ CPlatformConfigForSqueak subclass: #SqueakIA32BochsConfig
- CPlatformConfig subclass: #SqueakIA32BochsConfig
  	instanceVariableNames: 'buildType generateBuild generateBuildAssert generateBuildAssertITimerHeartbeat generateBuildDebug generateBuildDebugITimerHeartbeat generateBuildDebugMultiThreaded generateBuildIHeartbeatTimer generateBuildMultiThreaded generateBuildMultiThreadedAssert generateBuildMultiThreadedDebug'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'CMakeVMMakerSqueak-IA32-Bochs'!
  
  !SqueakIA32BochsConfig commentStamp: 'tty 6/15/2014 14:08' prior: 0!
  N.B. I honestly have no idea how to use this. tty (:
  
  I configure a VM according to my name's form: [Operating System] [WordSize] [Processor Language][VM MemoryManager][BuildType]Conf
  
  
  I am not meant to be built.
  
  SqueakIA32BochsBuilder 
  	configureABuildFor: #ONE OF MY SUBCLASSES NAME HERE withBuildType: #build;
  	generateSources;
  	generate.  
  
  HelpBrowser openOn: CMakeVMMakerSqueakEndUserHelp
  HelpBrowser openOn: CMakeVMMakerSqueakDeveloperHelp
  
  !

Item was changed:
+ CPlatformConfigForSqueak subclass: #SqueakMacOSConfig
- CPlatformConfig subclass: #SqueakMacOSConfig
  	instanceVariableNames: 'buildType generateBuild generateBuildAssert generateBuildAssertITimerHeartbeat generateBuildDebug generateBuildDebugITimerHeartbeat generateBuildDebugMultiThreaded generateBuildIHeartbeatTimer generateBuildMultiThreaded generateBuildMultiThreadedAssert generateBuildMultiThreadedDebug'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'CMakeVMMakerSqueak-MacOS'!
  
  !SqueakMacOSConfig commentStamp: 'tty 6/15/2014 13:46' prior: 0!
  A SqueakMacOSConfig  configures a VM according to my name's form: [Operating System] [WordSize] [Processor Language][VM MemoryManager][BuildType]Conf
  
  
  I am not meant to be built.
  
  SqueakMacOSBuilder 
  	configureABuildFor: #ONE OF MY SUBCLASSES NAME HERE withBuildType: #build;
  	generateSources;
  	generate.  
  
  HelpBrowser openOn: CMakeVMMakerSqueakEndUserHelp
  HelpBrowser openOn: CMakeVMMakerSqueakDeveloperHelp
  !

Item was added:
+ CPlatformConfigForSqueak subclass: #SqueakMacintoshConfig
+ 	instanceVariableNames: ''
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak'!

Item was changed:
+ CPlatformConfigForSqueak subclass: #SqueakSunOS32x86Config
- CPlatformConfig subclass: #SqueakSunOS32x86Config
  	instanceVariableNames: 'buildType generateBuild generateBuildAssert generateBuildAssertITimerHeartbeat generateBuildDebug generateBuildDebugITimerHeartbeat generateBuildDebugMultiThreaded generateBuildIHeartbeatTimer generateBuildMultiThreaded generateBuildMultiThreadedAssert generateBuildMultiThreadedDebug'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'CMakeVMMakerSqueak-SunOS32x86'!
  
  !SqueakSunOS32x86Config commentStamp: 'tty 6/15/2014 13:41' prior: 0!
  A SqueakSunOS32x86CogConfig provides common informatin for my subclasses.
  
  I am not meant to be built.
  
  SqueakSunOS32x86Builder 
  	configureABuildFor: #ONE OF MY SUBCLASSES NAME HERE withBuildType: #build;
  	generateSources;
  	generate.  
  
  HelpBrowser openOn: CMakeVMMakerSqueakEndUserHelp
  HelpBrowser openOn: CMakeVMMakerSqueakDeveloperHelp!

Item was added:
+ CPlatformConfigForSqueak subclass: #SqueakUnixConfig
+ 	instanceVariableNames: ''
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak'!
+ 
+ !SqueakUnixConfig commentStamp: 'tty 6/17/2014 19:53' prior: 0!
+ A SqueakUnixConfig is a top level configuration for *nix configuratons.
+ !

Item was changed:
+ CPlatformConfigForSqueak subclass: #SqueakWin32x86Config
- CPlatformConfig subclass: #SqueakWin32x86Config
  	instanceVariableNames: 'buildType generateBuild generateBuildAssert generateBuildAssertITimerHeartbeat generateBuildDebug generateBuildDebugITimerHeartbeat generateBuildDebugMultiThreaded generateBuildIHeartbeatTimer generateBuildMultiThreaded generateBuildMultiThreadedAssert generateBuildMultiThreadedDebug'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'CMakeVMMakerSqueak-Win32x86'!
  
  !SqueakWin32x86Config commentStamp: 'tty 6/15/2014 13:37' prior: 0!
  N.B. tty.  This class comment is from my pharo parent..
  
  This is an abstract class and it is the root configuration for building all types of Cog VMs on MS-Windows platform.
  
  
  What you need to get started:
  
  Download and install Msys, with C/C++ compiler support:
  	http://www.mingw.org/wiki/msys
  	
  Download and install Git:
  	http://code.google.com/p/msysgit/
  	
  
  ///
  Optional: add git to the PATH variable:
  
  Add path to git for msys:
  Control panel -> System -> System Properies / Advanced  [ Environment Variables ]
  
  There should be already:
  C:\Program Files\Git\cmd
  
  add:
  
  C:\Program Files\Git\bin
  
  /// For automated builds, add SQUEAKVM environment variable and set it to the full path to squeak executable.
  
  (Control panel -> System -> System Properies / Advanced  [ Environment Variables ])
  
  in windows shell you can use it then to run squeak: %SQUEAKVM%  , and in mingw bash shell, use $SQUEAKVM
  
  /// Install CMake:
  http://www.cmake.org/cmake/resources/software.html
  
  (during installation, in install options , make sure that you choose to add CMake to PATH)
  
  
  Note, to run cmake under msys shell, you have to explicitly specify the msys makefiles generator, because default one is MS:
  
  cmake . -G"MSYS Makefiles"
  
  
  Fore more information, check the class comments of all the superclasses.
  !

Item was added:
+ CPlatformConfigForSqueak subclass: #SqueakWindowsConfig
+ 	instanceVariableNames: ''
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak'!
+ 
+ !SqueakWindowsConfig commentStamp: 'tty 6/17/2014 19:54' prior: 0!
+ A SqueakWindowsConfig is a top level config for Windows boxes!



More information about the Vm-dev mailing list