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

commits at source.squeak.org commits at source.squeak.org
Mon Jun 2 20:48:38 UTC 2014


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

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

Name: CMakeVMMakerSqueak-tty.24
Author: tty
Time: 2 June 2014, 4:48:26.39 pm
UUID: a0b14083-c36e-4bb1-8294-e4c0853b627b
Ancestors: CMakeVMMakerSqueak-tty.23

overrode write:toFile: for Squeak compatibility. 
bug fix from previous iterations as my I had modified CMakeVMMaker CPlatformConf directly (my bad)

=============== Diff against CMakeVMMakerSqueak-tty.23 ===============

Item was changed:
+ ----- Method: SqueakCocoaIOSConfig>>prepareVMMaker (in category 'source generation') -----
- ----- Method: SqueakCocoaIOSConfig>>prepareVMMaker (in category 'as yet unclassified') -----
  prepareVMMaker
  	
  	| maker allPlugins |
  	
  	"In CogVMs (in contrast to Interpreter VM) the generated sources are platform independent, therefore Cross is ok"
  	maker := VMMaker forPlatform: 'Cross'.
  	
  	maker sourceDirectoryName: self srcDir pathName.
  	maker platformRootDirectoryName: self platformsDir.
  	
  	
  	allPlugins := self internalPlugins , self externalPlugins.
  	
  	"touch plugins to force their source generation unconditionally"
  	allPlugins do: [:name | (Smalltalk globals at: name) touch ].
  	
  	" Why we put all plugins as external?   Because the generated sources are not different whether the plugins were defined as internal or external. VMMaker used to need this to to generate plugins.int and plugins.ext files. But since this is achieved in another way with CMakeVMMaker, there is no different at all to put all plugins as internal or as external."
  	maker externalModules addAll:  allPlugins.
  	
  	^ maker!

Item was added:
+ ----- Method: SqueakCocoaIOSConfig>>write:toFile: (in category 'directories') -----
+ write: aContents toFile: aFileName
+ 	"write a file to current output directory (buildDir).
+ 	use line end convention appropriate for config platform"
+ 
+ 	| bldDir |
+ 	bldDir := self buildDir.
+ 	bldDir isString
+ 		ifTrue: [ bldDir := FileDirectory directoryEntryFor: bldDir ].
+ 	bldDir assureExistence.
+ 	bldDir
+ 		forceNewFileNamed: aFileName
+ 		do: [:s | s
+ 				nextPutAll: (self fixLineEndsOf: aContents)]
+ 
+ !



More information about the Vm-dev mailing list