[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