Timothy M uploaded a new version of CMakeVMMakerSqueak to project VM Maker: http://source.squeak.org/VMMaker/CMakeVMMakerSqueak-tty.73.mcz
==================== Summary ====================
Name: CMakeVMMakerSqueak-tty.73 Author: tty Time: 22 June 2014, 7:42:51.446 pm UUID: 99ca78cc-a96d-4656-b74f-fd4122d98592 Ancestors: CMakeVMMakerSqueak-tty.72
pushed some Mac methods up to top level config.
re-wrote some tests.
=============== Diff against CMakeVMMakerSqueak-tty.72 ===============
Item was changed: ----- Method: CMakeVMMakerSqueakMacintoshConfigTest>>testCMakeMacros (in category 'as yet unclassified') ----- testCMakeMacros + #( SqueakMacintoshConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | - - #(#SqueakIOSBuilder #SqueakMacOSBuilder #SqueakMacOSPowerPCBuilder #SqueakMacOSX32x86Builder) - do:[:builder | | o | - Smalltalk globals - allClassesDo:[:configuration | (configuration class category asString withoutQuoting startsWith: ((Smalltalk at:builder) configurationsCategory)) - ifTrue:[ o:= configuration new. (o excludeFromBuild not) + ifTrue:[self assert:(o cMakeMacros isString)]]] - ifTrue:[self assert:(o cMakeMacros isString)]]]]
!
Item was added: + ----- Method: CMakeVMMakerSqueakMacintoshConfigTest>>testCommonCompilerFlags (in category 'as yet unclassified') ----- + testCommonCompilerFlags + #( SqueakMacintoshConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | + o:= configuration new. + (o excludeFromBuild not) |(configuration isAbstractBaseClass) + ifTrue:[ + self assert:(o commonCompilerFlags isArray). + " self assert:(o compilerFlagsAssert isArray). + self assert:(o compilerFlagsAssertITimerHeartbeat isArray). + self assert:(o compilerFlagsBuild isArray). + self assert:(o compilerFlagsDebug isArray). + self assert:(o compilerFlagsDebugITimerHeartbeat isArray). + self assert:(o compilerFlagsIHeartbeatTimer isArray). + self assert:(o compilerFlagsMultiThreaded isArray). + self assert:(o compilerFlagsMultiThreadedAssert isArray). + self assert:(o compilerFlagsMultiThreadedDebug isArray)."]]]!
Item was changed: ----- Method: CMakeVMMakerSqueakMacintoshConfigTest>>testExecutableType (in category 'as yet unclassified') ----- testExecutableType + #(#SqueakMacintoshConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | + o:= configuration new. + (o excludeFromBuild not) | (configuration isAbstractBaseClass) + ifTrue:[self assert:(o executableType = 'MACOSX_BUNDLE')]]]
- #(#SqueakIOSBuilder #SqueakMacOSBuilder #SqueakMacOSPowerPCBuilder #SqueakMacOSX32x86Builder) - do:[:builder | | o | - Smalltalk globals - allClassesDo:[:configuration | (configuration class category asString withoutQuoting startsWith: ((Smalltalk at:builder) configurationsCategory)) - ifTrue:[ - o:= configuration new. - self assert:(o executableType = 'MACOSX_BUNDLE'). - ]]]
- !
Item was changed: ----- Method: CMakeVMMakerSqueakMacintoshConfigTest>>testPlatformName (in category 'as yet unclassified') ----- testPlatformName + #(#SqueakMacintoshConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | - self flag:'tty'. "todo: fix code smell in hard coded string" - #(#SqueakIOSBuilder #SqueakMacOSBuilder #SqueakMacOSPowerPCBuilder #SqueakMacOSX32x86Builder) - do:[:builder | | o | - Smalltalk globals - allClassesDo:[:configuration | (configuration class category asString withoutQuoting startsWith: ((Smalltalk at:builder) configurationsCategory)) - ifTrue:[ o:= configuration new. + (o excludeFromBuild not) | (configuration isAbstractBaseClass) + ifTrue:[self assert:(o platformName = 'Mac OS' )]]] - (o excludeFromBuild not) - ifTrue:[self assert:(o platformName = 'Mac OS' )]]]]
!
Item was changed: ----- Method: CMakeVMMakerSqueakMacintoshConfigTest>>testResourcesDir (in category 'as yet unclassified') ----- testResourcesDir + self flag:'tty'. "I modified resourcesDir to 'assureExistence' from 'fullname'. if this causes problems, look into that" + #(#SqueakMacintoshConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | + o:= configuration new. + (o excludeFromBuild not) | (configuration isAbstractBaseClass) + ifTrue:[ self assert:(o resourcesDir isKindOf: FileDirectory)]]]
- #(#SqueakIOSBuilder #SqueakMacOSBuilder #SqueakMacOSPowerPCBuilder #SqueakMacOSX32x86Builder) - do:[:builder | | o | - Smalltalk globals - allClassesDo:[:configuration | (configuration class category asString withoutQuoting startsWith: ((Smalltalk at:builder) configurationsCategory)) - ifTrue:[ - o:= configuration new. - (o excludeFromBuild not) - ifTrue:[self assert:(o resourcesDir isKindOf: FileDirectory)]]]]
- !
Item was changed: ----- Method: CMakeVMMakerSqueakMacintoshConfigTest>>testResourcesDirName (in category 'as yet unclassified') ----- testResourcesDirName + #(#SqueakMacintoshConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | - #(#SqueakIOSBuilder #SqueakMacOSBuilder #SqueakMacOSPowerPCBuilder #SqueakMacOSX32x86Builder) - do:[:builder | | o | - Smalltalk globals - allClassesDo:[:configuration | (configuration class category asString withoutQuoting startsWith: ((Smalltalk at:builder) configurationsCategory)) - ifTrue:[ o:= configuration new. + (o excludeFromBuild not) | (configuration isAbstractBaseClass) + ifTrue:[self assert:(o resourcesDirName isString)]]] - (o excludeFromBuild not) - ifTrue:[self assert:(o resourcesDirName isString)]]]]
!
Item was changed: ----- Method: CMakeVMMakerSqueakUnixConfigTest>>testCommonCompilerFlags (in category 'as yet unclassified') ----- testCommonCompilerFlags + #( SqueakUnixConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | - - #( #SqueakAndroidBuilder #SqueakBSDx86Builder #SqueakLinux32ARMv6Builder #SqueakLinux32x86Builder #SqueakLinux32x86_64Builder #SqueakLinux64x86w32CompatBuilder #SqueakSunOS32x86Builder) - do:[:builder | | o | - Smalltalk globals - allClassesDo:[:configuration | (configuration class category asString withoutQuoting startsWith: ((Smalltalk at:builder) configurationsCategory)) - ifTrue:[ o:= configuration new. + (o excludeFromBuild not) |(configuration isAbstractBaseClass) - (o excludeFromBuild not) ifTrue:[ self assert:(o commonCompilerFlags isArray). " self assert:(o compilerFlagsAssert isArray). self assert:(o compilerFlagsAssertITimerHeartbeat isArray). self assert:(o compilerFlagsBuild isArray). self assert:(o compilerFlagsDebug isArray). self assert:(o compilerFlagsDebugITimerHeartbeat isArray). self assert:(o compilerFlagsIHeartbeatTimer isArray). self assert:(o compilerFlagsMultiThreaded isArray). self assert:(o compilerFlagsMultiThreadedAssert isArray). + self assert:(o compilerFlagsMultiThreadedDebug isArray)."]]] - self assert:(o compilerFlagsMultiThreadedDebug isArray)."]]]]
!
Item was changed: ----- Method: CMakeVMMakerSqueakUnixConfigTest>>testConfigH (in category 'as yet unclassified') ----- testConfigH + #( SqueakUnixConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | - - #( #SqueakAndroidBuilder #SqueakBSDx86Builder #SqueakLinux32ARMv6Builder #SqueakLinux32x86Builder #SqueakLinux32x86_64Builder #SqueakLinux64x86w32CompatBuilder #SqueakSunOS32x86Builder) - do:[:builder | | o | - Smalltalk globals - allClassesDo:[:configuration | (configuration class category asString withoutQuoting startsWith: ((Smalltalk at:builder) configurationsCategory)) - ifTrue:[ o:= configuration new. + (o excludeFromBuild not) |(configuration isAbstractBaseClass not) + ifTrue:[ + o:= configuration new. (o excludeFromBuild not) ifTrue:[self assert:(o configH isString)]]]]
!
Item was changed: ----- Method: CMakeVMMakerSqueakUnixConfigTest>>testExecutableType (in category 'as yet unclassified') ----- testExecutableType + #( SqueakUnixConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | - - #(#SqueakAndroidBuilder #SqueakBSDx86Builder #SqueakLinux32ARMv6Builder #SqueakLinux32x86Builder #SqueakLinux32x86_64Builder #SqueakLinux64x86w32CompatBuilder #SqueakSunOS32x86Builder) - do:[:builder | | o | - Smalltalk globals - allClassesDo:[:configuration | (configuration class category asString withoutQuoting startsWith: ((Smalltalk at:builder) configurationsCategory)) - ifTrue:[ o:= configuration new. + (o excludeFromBuild not) |(configuration isAbstractBaseClass not) + ifTrue:[ + o:= configuration new. self assert:(o executableType = '').]]] "hello code smell" !
Item was changed: ----- Method: CMakeVMMakerSqueakUnixConfigTest>>testPlatformName (in category 'as yet unclassified') ----- testPlatformName self flag:'tty'. "todo: fix code smell in hard coded string" + #( SqueakUnixConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | - #(#SqueakAndroidBuilder #SqueakBSDx86Builder #SqueakLinux32ARMv6Builder #SqueakLinux32x86Builder #SqueakLinux32x86_64Builder #SqueakLinux64x86w32CompatBuilder #SqueakSunOS32x86Builder) - do:[:builder | | o | - Smalltalk globals - allClassesDo:[:configuration | (configuration class category asString withoutQuoting startsWith: ((Smalltalk at:builder) configurationsCategory)) - ifTrue:[ o:= configuration new. + (o excludeFromBuild not) |(configuration isAbstractBaseClass not) + ifTrue:[ + o:= configuration new. (o excludeFromBuild not) ifTrue:[self assert:(o platformName = 'unix' )]]]]
!
Item was changed: ----- Method: CMakeVMMakerSqueakWindowsConfigTest>>testCommonCompilerFlags (in category 'as yet unclassified') ----- testCommonCompilerFlags "" self flag:'tty'. "I need to differentiate this from the test in CommonConfigTests. Also, why is windows Array and others String?" + #(#SqueakWindowsConfig) + do:[:each | + (Smalltalk at:each) + subclassesDo:[:configuration | | o | - #(#SqueakWin32x86Builder) - do:[:builder | | o | - Smalltalk globals - allClassesDo:[:configuration | (configuration class category asString withoutQuoting startsWith: ((Smalltalk at:builder) configurationsCategory)) - ifTrue:[ o:= configuration new. + (o excludeFromBuild not) |(configuration isAbstractBaseClass) - (o excludeFromBuild not) ifTrue:[ self assert:(o commonCompilerFlags isArray). " self assert:(o compilerFlagsAssert isArray). self assert:(o compilerFlagsAssertITimerHeartbeat isArray). self assert:(o compilerFlagsBuild isArray). self assert:(o compilerFlagsDebug isArray). self assert:(o compilerFlagsDebugITimerHeartbeat isArray). self assert:(o compilerFlagsIHeartbeatTimer isArray). self assert:(o compilerFlagsMultiThreaded isArray). self assert:(o compilerFlagsMultiThreadedAssert isArray). self assert:(o compilerFlagsMultiThreadedDebug isArray)."
+ ]]] - ]]]]
!
Item was added: + ----- Method: CPlatformConfigForSqueak>>vmIShouldNotBeHereExecutableName (in category 'cmake executable names') ----- + vmIShouldNotBeHereExecutableName + + ^'IShouldNotBeHere'!
Item was changed: + ----- Method: Linux32x86Config>>executableName (in category 'cmake') ----- - ----- Method: Linux32x86Config>>executableName (in category 'accessing') ----- executableName + "AbstractBaseClass configurations are not meant to be executable" + ^ self vmIShouldNotBeHereExecutableName! - self subclassResponsibility!
Item was added: + ----- Method: Linux64Config>>executableName (in category 'cmake') ----- + executableName + "AbstractBaseClass configurations are not meant to be executable" + ^ self vmIShouldNotBeHereExecutableName!
Item was added: + ----- Method: Linux64x86w32BitConfig>>executableName (in category 'cmake') ----- + executableName + "AbstractBaseClass configurations are not meant to be executable" + ^ self vmIShouldNotBeHereExecutableName!
Item was added: + ----- Method: SqueakBSDConfig>>executableName (in category 'cmake') ----- + executableName + "AbstractBaseClass configurations are not meant to be executable" + ^ self vmIShouldNotBeHereExecutableName!
Item was added: + ----- Method: SqueakIA32BochsConfig>>executableName (in category 'cmake') ----- + executableName + "AbstractBaseClass configurations are not meant to be executable" + ^ self vmIShouldNotBeHereExecutableName!
Item was removed: - ----- Method: SqueakIOSConfig>>defaultDirectoriesFromGitDir: (in category 'accessing') ----- - defaultDirectoriesFromGitDir: gitRepository - "Set the default values for all necessary directories taking into account the Git repostiory. An example to use this method is: - MTCocoaIOSCogJitDebugConfig new - defaultDirectoriesFromGitDir: '/Users/mariano/Pharo/vm/git/cogVM/blessed'; - generateSources; - generate. - " - | gitRepositoryString | - gitRepositoryString := gitRepository, '/'. - self srcDir: gitRepositoryString, self srcDirName. - self platformsDir: gitRepositoryString, self platformsDirName. - self buildDir: gitRepositoryString, self buildDirName. - self resourcesDir: gitRepositoryString, self resourcesDirName. - self outputDir: gitRepositoryString, self outputDirName. - - - !
Item was added: + ----- Method: SqueakIOSConfig>>executableName (in category 'cmake') ----- + executableName + "AbstractBaseClass configurations are not meant to be executable" + ^ self vmIShouldNotBeHereExecutableName!
Item was removed: - ----- Method: SqueakIOSConfig>>resourcesDir (in category 'accessing') ----- - resourcesDir - "Answer the value of resourcesDir" - - ^ resourcesDir ifNil: [ resourcesDir := (self topDir / 'macbuild/resources') fullName ] - !
Item was removed: - ----- Method: SqueakIOSConfig>>resourcesDir: (in category 'accessing') ----- - resourcesDir: anObject - "Set the value of platformsDir" - - resourcesDir := anObject!
Item was removed: - ----- Method: SqueakIOSConfig>>resourcesDirName (in category 'accessing') ----- - resourcesDirName - ^ 'macbuild/resources'!
Item was changed: ----- Method: SqueakIPhoneSqueakStackV3Config>>resourcesDir (in category 'accessing') ----- resourcesDir "Answer the value of resourcesDir" + self flag:'tty'. "I modified resourcesDir to 'assureExistence' from 'fullname'. if this causes problems, look into that" + ^ resourcesDir ifNil: [ resourcesDir := (self topDir / 'iosbuild' / 'resources') assureExistence ]! - ^ resourcesDir ifNil: [ resourcesDir := (self topDir / 'iosbuild' / 'resources') fullName ]!
Item was removed: - ----- Method: SqueakMacOSX32x86Config>>defaultDirectoriesFromGitDir: (in category 'accessing') ----- - defaultDirectoriesFromGitDir: gitRepository - "Set the default values for all necessary directories taking into account the Git repostiory. An example to use this method is: - MTCocoaIOSCogJitDebugConfig new - defaultDirectoriesFromGitDir: '/Users/mariano/Pharo/vm/git/cogVM/blessed'; - generateSources; - generate. - " - | gitRepositoryString | - gitRepositoryString := gitRepository, '/'. - self srcDir: gitRepositoryString, self srcDirName. - self platformsDir: gitRepositoryString, self platformsDirName. - self buildDir: gitRepositoryString, self buildDirName. - self resourcesDir: gitRepositoryString, self resourcesDirName. - self outputDir: gitRepositoryString, self outputDirName. - - - !
Item was added: + ----- Method: SqueakMacOSX32x86Config>>executableName (in category 'cmake') ----- + executableName + "AbstractBaseClass configurations are not meant to be executable" + ^ self vmIShouldNotBeHereExecutableName!
Item was removed: - ----- Method: SqueakMacOSX32x86Config>>resourcesDir (in category 'accessing') ----- - resourcesDir - "Answer the value of resourcesDir" - - ^ resourcesDir ifNil: [ resourcesDir := (self topDir / 'macbuild/resources') fullName ] - !
Item was removed: - ----- Method: SqueakMacOSX32x86Config>>resourcesDir: (in category 'accessing') ----- - resourcesDir: anObject - "Set the value of platformsDir" - - resourcesDir := anObject!
Item was removed: - ----- Method: SqueakMacOSX32x86Config>>resourcesDirName (in category 'accessing') ----- - resourcesDirName - ^ 'macbuild/resources'!
Item was removed: - ----- Method: SqueakMacOSXPowerPCConfig>>defaultDirectoriesFromGitDir: (in category 'accessing') ----- - defaultDirectoriesFromGitDir: gitRepository - "Set the default values for all necessary directories taking into account the Git repostiory. An example to use this method is: - MTCocoaIOSCogJitDebugConfig new - defaultDirectoriesFromGitDir: '/Users/mariano/Pharo/vm/git/cogVM/blessed'; - generateSources; - generate. - " - | gitRepositoryString | - gitRepositoryString := gitRepository, '/'. - self srcDir: gitRepositoryString, self srcDirName. - self platformsDir: gitRepositoryString, self platformsDirName. - self buildDir: gitRepositoryString, self buildDirName. - self resourcesDir: gitRepositoryString, self resourcesDirName. - self outputDir: gitRepositoryString, self outputDirName. - - - !
Item was added: + ----- Method: SqueakMacOSXPowerPCConfig>>executableName (in category 'cmake') ----- + executableName + "AbstractBaseClass configurations are not meant to be executable" + ^ self vmIShouldNotBeHereExecutableName!
Item was removed: - ----- Method: SqueakMacOSXPowerPCConfig>>resourcesDir (in category 'accessing') ----- - resourcesDir - "Answer the value of resourcesDir" - - ^ resourcesDir ifNil: [ resourcesDir := (self topDir / 'macbuild/resources') fullName ] - !
Item was removed: - ----- Method: SqueakMacOSXPowerPCConfig>>resourcesDir: (in category 'accessing') ----- - resourcesDir: anObject - "Set the value of platformsDir" - - resourcesDir := anObject!
Item was removed: - ----- Method: SqueakMacOSXPowerPCConfig>>resourcesDirName (in category 'accessing') ----- - resourcesDirName - ^ 'macbuild/resources'!
Item was added: + ----- Method: SqueakMacintoshConfig>>defaultDirectoriesFromGitDir: (in category 'accessing') ----- + defaultDirectoriesFromGitDir: gitRepository + "Set the default values for all necessary directories taking into account the Git repostiory. An example to use this method is: + MTCocoaIOSCogJitDebugConfig new + defaultDirectoriesFromGitDir: '/Users/mariano/Pharo/vm/git/cogVM/blessed'; + generateSources; + generate. + " + | gitRepositoryString | + self flag:'tty'. "Squeak don't git" + gitRepositoryString := gitRepository, '/'. + self srcDir: gitRepositoryString, self srcDirName. + self platformsDir: gitRepositoryString, self platformsDirName. + self buildDir: gitRepositoryString, self buildDirName. + self resourcesDir: gitRepositoryString, self resourcesDirName. + self outputDir: gitRepositoryString, self outputDirName. + + + !
Item was changed: + ----- Method: SqueakMacintoshConfig>>resourcesDir (in category 'accessing') ----- + resourcesDir + "Answer the value of resourcesDir" + self flag:'tty'. "I modified resourcesDir to 'assureExistence' from 'fullname'. if this causes problems, look into that" + ^ resourcesDir ifNil: [ resourcesDir := (self topDir / self resourcesDirName) assureExistence ] + ! - ----- Method: SqueakMacintoshConfig>>resourcesDir (in category 'source files') ----- - resourcesDir - self subclassResponsibility!
Item was added: + ----- Method: SqueakMacintoshConfig>>resourcesDir: (in category 'accessing') ----- + resourcesDir: anObject + "Set the value of platformsDir" + + resourcesDir := anObject!
Item was changed: + ----- Method: SqueakMacintoshConfig>>resourcesDirName (in category 'accessing') ----- - ----- Method: SqueakMacintoshConfig>>resourcesDirName (in category 'as yet unclassified') ----- resourcesDirName + ^self dirBuild, FileDirectory slash,'resources'. + " ^ 'macbuild/resources'"! - self subclassResponsibility!
Item was added: + ----- Method: SqueakSunOS32x86Config>>executableName (in category 'cmake') ----- + executableName + "AbstractBaseClass configurations are not meant to be executable" + ^ self vmIShouldNotBeHereExecutableName!
Item was added: + ----- Method: SqueakWin32x86Config>>executableName (in category 'cmake') ----- + executableName + "AbstractBaseClass configurations are not meant to be executable" + ^ self vmIShouldNotBeHereExecutableName!
vm-dev@lists.squeakfoundation.org