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

commits at source.squeak.org commits at source.squeak.org
Thu Jun 12 17:47:08 UTC 2014


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

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

Name: CMakeVMMakerSqueak-tty.46
Author: tty
Time: 12 June 2014, 1:47:12.036 pm
UUID: a5469781-158b-43ca-b755-70d4fe35b98b
Ancestors: CMakeVMMakerSqueak-tty.45

start work on configuring a config for additional build types: assert, assert heartbeat, etc

changed inheritence tree of bsd config and made it use Trait TCPlatformConfigForSqueak . 

renamed cmake_build directories per ben's btc at openinworld request to cmake.build....

made mod to x86_64 naming convention as well.

Fix buildDirName to include FileDirectory slash separator

re-ran tests. all pass

=============== Diff against CMakeVMMakerSqueak-tty.45 ===============

Item was changed:
  ----- Method: Linux32x86Config>>configureForDebug (in category 'cmake') -----
  configureForDebug
  	generateForDebug := true!

Item was added:
+ ----- Method: Linux32x86Config>>configureForNoBuildType (in category 'cmake') -----
+ configureForNoBuildType
+ 	"this could be dangerous. If it becomes so, then just reset all the generateForXYZ flags in the topmost config. Currently that is all that initialize does."
+ 		 generateForAssert:= generateForAssertHeartbeatTimer:= generateForDebug :=generateForDebugWithHeartbeatTimer:= generateForDebugMultiThreadedFFI:= generateForReleaseHeartbeatTimer:= generateForReleaseMultiThreadedFFI:=false!

Item was changed:
  ----- Method: Linux64Config>>configureForNoBuildType (in category 'cmake') -----
  configureForNoBuildType
+ 		 generateForAssert:= generateForAssertHeartbeatTimer:= generateForDebug :=generateForDebugWithHeartbeatTimer:= generateForDebugMultiThreadedFFI:= generateForReleaseHeartbeatTimer:= generateForReleaseMultiThreadedFFI:=false!
- 	"this could be dangerous. If it becomes so, then just reset all the generateForXYZ flags in the topmost config. Currently that is all that initialize does."
- 	self initialize!

Item was changed:
  ----- Method: SqueakAndroidStackEvtConfig>>configureForNoBuildType (in category 'cmake') -----
  configureForNoBuildType
+ 		 generateForAssert:= generateForAssertHeartbeatTimer:= generateForDebug :=generateForDebugWithHeartbeatTimer:= generateForDebugMultiThreadedFFI:= generateForReleaseHeartbeatTimer:= generateForReleaseMultiThreadedFFI:=false!
- 	self initialize!

Item was changed:
+ CogFamilyUnixConfig subclass: #SqueakBSDConfig
+ 	uses: TCPlatformConfigForSqueak
+ 	instanceVariableNames: 'generateForAssertWithHeartbeatTimer generateForDebug generateForDebugMultiThreadedFFI generateForDebugWithHeartbeatTimer generateForAssert generateForAssertHeartbeatTimer generateForReleaseHeartbeatTimer generateForReleaseMultiThreadedFFI'
- Linux32x86SqueakCogV3Configz subclass: #SqueakBSDConfig
- 	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'CMakeVMMakerSqueak-BSD32x86'!
  
  !SqueakBSDConfig commentStamp: 'tty 6/9/2014 18:06' prior: 0!
  A SqueakBSDConfig  configures a VM according to my name's form: [Operating System] [WordSize] [Processor Language][VM MemoryManager][BuildType]Conf
  
  My subclasses do actual configurations, I just sit here and look good. Plus, I encapsulate common behavior. But mostly I just sit here.
  !
+ SqueakBSDConfig class
+ 	uses: TCPlatformConfigForSqueak classTrait
+ 	instanceVariableNames: ''!

Item was added:
+ ----- Method: SqueakBSDConfig>>configureForAssertWithHeartbeatTimer (in category 'cmake') -----
+ configureForAssertWithHeartbeatTimer
+ 	generateForAssertWithHeartbeatTimer := true!

Item was added:
+ ----- Method: SqueakBSDConfig>>configureForBuildType: (in category 'cmake') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	self configureForNoBuildType.                "reset all internal flags"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo.
+ 	d 
+ 		at: #assert put:[self configureForAssert];
+ 		at: #assertWithHeartbeatTimer put: [self configureForAssertWithHeartbeatTimer];
+             at:#debug put: [self configureForDebug];
+ 		at: #debugWithHeartbeatTimer put: [self configureForDebugWithHeartbeatTimer];
+ 		at: #debugMultiThreadedFFI put: [self configureForDebugMultiThreadedFFI];
+ 		at: #release put: [self configureForRelease];
+ 		at: #releaseHeartbeatTimer put: [self configureForReleaseHeartbeatTimer];
+ 		at: #releaseMultiThreadedFFI put: [self configureForReleaseMultiThreadedFFI].
+      ^(d at: aSymbol) value!

Item was added:
+ ----- Method: SqueakBSDConfig>>configureForDebug (in category 'cmake') -----
+ configureForDebug
+ 	generateForDebug := true!

Item was added:
+ ----- Method: SqueakBSDConfig>>configureForDebugMultiThreadedFFI (in category 'cmake') -----
+ configureForDebugMultiThreadedFFI
+ 	generateForDebugMultiThreadedFFI := true!

Item was added:
+ ----- Method: SqueakBSDConfig>>configureForDebugWithHeartbeatTimer (in category 'cmake') -----
+ configureForDebugWithHeartbeatTimer
+ 	generateForDebugWithHeartbeatTimer := true!

Item was added:
+ ----- Method: SqueakBSDConfig>>configureForNoBuildType (in category 'cmake') -----
+ configureForNoBuildType
+ 	"this could be dangerous. If it becomes so, then just reset all the generateForXYZ flags in the topmost config. Currently that is all that initialize does."
+ 		 generateForAssert:= generateForAssertHeartbeatTimer:= generateForDebug :=generateForDebugWithHeartbeatTimer:= generateForDebugMultiThreadedFFI:= generateForReleaseHeartbeatTimer:= generateForReleaseMultiThreadedFFI:=false!

Item was added:
+ ----- Method: SqueakBSDConfig>>configureForRelease (in category 'cmake') -----
+ configureForRelease
+ 	"this variable is in pharo class CPlatformConfig"
+ 	generateForRelease := true.!

Item was added:
+ ----- Method: SqueakBSDConfig>>configureForReleaseHeartbeatTimer (in category 'cmake') -----
+ configureForReleaseHeartbeatTimer
+ 	generateForReleaseHeartbeatTimer := true.!

Item was added:
+ ----- Method: SqueakBSDConfig>>configureForReleaseMultiThreadedFFI (in category 'cmake') -----
+ configureForReleaseMultiThreadedFFI
+ 	generateForReleaseMultiThreadedFFI := true!

Item was changed:
+ ----- Method: SqueakBSDConfig>>defaultExternalPlugins (in category 'plugins') -----
- ----- Method: SqueakBSDConfig>>defaultExternalPlugins (in category 'squeak compatibility') -----
  defaultExternalPlugins
+ " tty 2014.06.10  cut-n-paste from Cog/build.linux32x86/newspeak.cog.spur/build/plugins.ext"
+ 	^ #(B3DAcceleratorPlugin 
+ 		BochsIA32Plugin 
+ 	      ThreadedFFIPlugin    "moduleName->SqueakFFIPrims "
+ 		"FFIPlugin"                   "moduleName->SqueakFFIPrims "
+ 		SqueakSSLPlugin       "moduleName->SqueakSSL" 
+ 		LocalePlugin 
+ 		UnixOSProcessPlugin 
+ 		UUIDPlugin)
+ 
+ 
+ "N.B. Regarding ThreadedFFIPlugin and FFIPlugin from eem:
+ 
+ Use  ThreadedFFIPlugin.  The FFIPlugin is obsolete (it requires assembler support files, and is non-reentrant).  This should generate in src/plugins/SqueakFFIPrims/{SqueakFFIPrims.c,ARM32FFIPlugin.c,IA32FFIPlugin.c} and you should compile only src/plugins/SqueakFFIPrims/SqueakFFIPrims.c.  src/plugins/SqueakFFIPrims/SqueakFFIPrims.c is a simple wrapper that includes ARM32FFIPlugin.c or IA32FFIPlugin.c as appropriate (and others can be added as they are developed).
+ 
+ 
+ "!
- 	^ (super defaultExternalPlugins copyWithoutAll: #(#IA32ABIPlugin #ThreadedIA32FFIPlugin #InternetConfigPlugin ))
- !

Item was changed:
+ ----- Method: SqueakBSDConfig>>defaultInternalPlugins (in category 'plugins') -----
- ----- Method: SqueakBSDConfig>>defaultInternalPlugins (in category 'squeak compatibility') -----
  defaultInternalPlugins
+ " N.B. THESE MAY BE WILDLY INAPPROPRIATE FOR BSD. cut-n-pasted from Linux32x86Config.
+    N.B. moduleName->XYZ means XYZ appears in the GNU-Build's plugins.int/ext. However, Smalltalk requires the class name.
+                                  XYZSmalltalkClass  moduleName->XYZ as it appears in plugins.int/ext
+ "
+ 	^ #(
+ 	    ADPCMCodecPlugin
+     AsynchFilePlugin
+     BalloonEnginePlugin "moduleName -->B2DPlugin"
+     BitBltSimulation        "moduleName->BitBltPlugin"
+     BMPReadWriterPlugin
+     CroquetPlugin
+     DeflatePlugin               "moduleName->ZipPlugin"
+     DropPlugin
+     DSAPlugin                    "moduleName->DSAPrims"
+     FFTPlugin
+     FileCopyPlugin
+     FilePlugin
+     FloatArrayPlugin
+     FloatMathPlugin
+     IA32ABIPlugin             "moduleName->IA32ABI"
+     InflatePlugin               "moduleName->ZipPlugin"
+     JoystickTabletPlugin
+     JPEGReaderPlugin
+     JPEGReadWriter2Plugin
+     KlattSynthesizerPlugin  "moduleName->Klatt"
+     LargeIntegersPlugin      "moduleName->LargeIntegers"
+     Matrix2x3Plugin
+     MIDIPlugin
+     MiscPrimitivePlugin
+     Mpeg3Plugin
+     RePlugin
+     SecurityPlugin
+     SerialPlugin
+     SocketPlugin
+     SoundCodecPlugin        "moduleName->SoundCodecPrims"
+     SoundGenerationPlugin
+     SoundPlugin
+     StarSqueakPlugin
+     SurfacePlugin
+     VMProfileLinuxSupportPlugin)!
- 	^ (super defaultInternalPlugins copyWithoutAll: #(#IA32ABIPlugin #JoystickTabletPlugin #StarSqueakPlugin #SurfacePlugin#ThreadedIA32FFIPlugin))
- !

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configureForNoBuildType (in category 'cmake') -----
+ configureForNoBuildType
+ 		 generateForAssert:= generateForAssertHeartbeatTimer:= generateForDebug :=generateForDebugWithHeartbeatTimer:= generateForDebugMultiThreadedFFI:= generateForReleaseHeartbeatTimer:= generateForReleaseMultiThreadedFFI:=false!

Item was added:
+ ----- Method: SqueakMacOSConfig>>configureForNoBuildType (in category 'cmake') -----
+ configureForNoBuildType
+ 		 generateForAssert:= generateForAssertHeartbeatTimer:= generateForDebug :=generateForDebugWithHeartbeatTimer:= generateForDebugMultiThreadedFFI:= generateForReleaseHeartbeatTimer:= generateForReleaseMultiThreadedFFI:=false!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configureForNoBuildType (in category 'cmake') -----
+ configureForNoBuildType
+ 		 generateForAssert:= generateForAssertHeartbeatTimer:= generateForDebug :=generateForDebugWithHeartbeatTimer:= generateForDebugMultiThreadedFFI:= generateForReleaseHeartbeatTimer:= generateForReleaseMultiThreadedFFI:=false!

Item was added:
+ ----- Method: SqueakWin32x86CogFamilyConfig>>configureForNoBuildType (in category 'cmake') -----
+ configureForNoBuildType
+ 		 generateForAssert:= generateForAssertHeartbeatTimer:= generateForDebug :=generateForDebugWithHeartbeatTimer:= generateForDebugMultiThreadedFFI:= generateForReleaseHeartbeatTimer:= generateForReleaseMultiThreadedFFI:=false!

Item was changed:
  ----- Method: TCPlatformConfigForSqueak>>configureForNoBuildType (in category 'cmake') -----
  configureForNoBuildType
  	"this could be dangerous. If it becomes so, then just reset all the generateForXYZ flags in the topmost config. Currently that is all that initialize does."
+ 	self required!
- 	self initialize!



More information about the Vm-dev mailing list