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

commits at source.squeak.org commits at source.squeak.org
Sun May 29 12:51:22 UTC 2016


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

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

Name: CMakeVMMakerSqueak-tty.118
Author: tty
Time: 15 May 2016, 4:48:25.554663 pm
UUID: 04183695-e521-4f1a-a80a-c0d640b3f355
Ancestors: CMakeVMMakerSqueak-tty.117

This commit breaks the CMake generation, but there is a lot of other work  I want commited.

The addition of the various 'source directories' in addition to the old 'src' directory that originally existed for Cog ..i.e. spursrc, stacksrc...etc has introduced some complexity that has to be accounted for.

I will think about this next, I just want to get the documentation work stored for now.

=============== Diff against CMakeVMMakerSqueak-tty.117 ===============

Item was changed:
  ----- Method: CMakeVMGeneratorForSqueak>>generateByTemplate (in category 'code generation') -----
  generateByTemplate
  	"attempt to move way from string based writing to  template based. Think Seaside renderOn composition"
  	| extPlugins intPlugins |
  	self flag: 'tty'. "refactor so that the cascade reflects CMake terminilogy"
  	output := String new writeStream.
  	config templates: OrderedCollection new. 
  	config 
  		setGlobalOptions: self;    
  		cmakePrefixPath;
  		cmakeIncludePath;
  		cmakeLibraryPath;
  		cmakeIncludeModules;
  		cmakeCFlags;          
  		cmakeAddDefinitions;
  		cmakeWriteDirectoriesDotCmake:  self;
  		cmakeIncludeDirectories:  self;   "<---"
  		preferredIncludes;                      "<---why 3  of em?"
  		standardIncludes;                       "<---"
  		setGlobalOptionsAfterDetermineSystem: self;    
  		extraVMSettings: self;                "<--catch-all method. os/platform specific"
  		setCoreSources: self;
  		setPlatformSources: self;
  		setCrossSources: self;
  		setExtraSources;
  		cmakeSetSourceFilesProperties;
  		cmakeListAppend:'LINKLIBS' elements: (config externalLibs);
  		cmakeAddExecutableNameOptionSource: self;
  	      setExecutableOutputPath;
  		addVMPlugins: self.
  	config templates do: [:each | self puts: each content].
  	config templates: OrderedCollection new. 
  	extPlugins := self generatePluginConfigs: config internalPlugins internal: true.
  	 intPlugins := self generatePluginConfigs: config externalPlugins internal: false.
  	self processThirdpartyLibraries.                       "<--unused in Pharo code? What exactly does this do?"
  	self processPlugins:  intPlugins, extPlugins.
  	self config templates	addLast:((CMakeCommand new) command:'target_link_libraries' params:(self moduleName , ' ${LINKLIBS}')).
  "	self cmd: 'target_link_libraries'
  		params: self moduleName , ' ${LINKLIBS}'."
  	config postBuildActions: self..
  	config templates do: [:each | self puts: each content].
  	self saveFile.
  	self generateBuildScript!

Item was changed:
  ----- Method: CMakeVMMakerSqueakCommonConfigTest>>testSrcDir (in category 'as yet unclassified') -----
  testSrcDir
+ 	"for each builder, make sure all its configurations provide a srcDir via their dirSource method "
- 	"for each builder, make sure all its configurations provide a srcDir "
  	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o |
  					o:= configuration basicNew.
+ 					(o excludeFromBuild not | configuration isAbstractBaseClass not)
- 					(o excludeFromBuild not) | (configuration isAbstractBaseClass)
  						ifTrue:[self assert:(o  srcDir isKindOf: FileDirectory)]]]
  
  
  
  
  
  
  
  !

Item was added:
+ ----- Method: CMakeVMMakerSqueakStepByStepNewConfigurationHelp class>>dirBuildLanguageVMMM (in category 'pages') -----
+ dirBuildLanguageVMMM
+ 	^HelpTopic
+ 		title:'Specify dirBuildLanguageVMMM'
+ 		contents:
+ '
+ SystemNavigation new browseAllImplementorsOf: #dirBuildLanguageVMMM localTo:CPlatformConfigForSqueak.
+ 
+ We scroll down to our Linux64x86w32BitSqueakCogSpurConfig which we copied from the existing Linux64x86w32BitSqueakCogV3Config.
+ 
+ Looking at the dirBuildLanguageVMMM it initially reads (due to the copying of the existing class)
+ 
+ dirBuildLanguageVMMM
+ 	^self squeakCogV3
+ 
+ Since this is a configuration for Squeak Cog Spur, I modify the method to return
+ 
+ dirBuildLanguageVMMM
+ 	^self squeakCogSpur
+ 
+ 
+ As a sanity check, I verify that the method squeakCogSpur exists...
+ 
+ SystemNavigation new browseAllImplementorsOf: #squeakCogSpur
+ 
+ And we see the method exists and will return the sting ''squeak.cog.spur''.
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakStepByStepNewConfigurationHelp class>>dirSource (in category 'pages') -----
+ dirSource
+ 	^HelpTopic
+ 		title:'Specify Source Directory'
+ 		contents:
+ '
+ Eliot''s VMMaker.oscog package outputs c-source code to varios directories depending ont he vm type.
+ 
+ SystemNavigation new browseAllImplementorsOf: #dirSource localTo:CPlatformConfigForSqueak.
+ 
+ Evaluating the above, we see that the CPlatformConfigForSqueak lists the available source directories.
+ 
+ The string values for these things are hard-coded in CPlatformConfigForSqueak in the ''cmake source names'' category.
+ 
+ ToolSet browse: CPlatformConfigForSqueak category: ''cmake source names''
+ 
+ For our Linux64x86w32BitSqueakCogSpurConfig we choose ''spursrc'' as our dirSource return value
+ 
+ dirSource
+ 	^self spursrc
+ 
+ which you can test here.
+ 
+ (Linux64x86w32BitSqueakCogSpurConfig basicNew) dirSource
+ 
+ '!

Item was changed:
  ----- Method: CMakeVMMakerSqueakStepByStepNewConfigurationHelp class>>forTheImpatient (in category 'pages') -----
  forTheImpatient
  	^HelpTopic
  		title:'For the impatient'
  		contents:
  'Here is the TL;DR synopsis of the methods* I implemented or overrode in creating the Linux64x86w32BitSqueakCogSpurConfig.
  
  A step-by-step exposition begins on  the next page.
  
+ dirBuildLanguageVMMM
+ specifyProductDirectories
- 
  cmakeCFlags  
  cmakeAddDefinitions
  cmakeIncludePath
  cmakeLibraryPath
  compilerFlags
  cmakeAddDefinitions
  preferredIncludes
  setGlobalOptionsAfterDetermineSystem:
  cmakeSetSourceFilesProperties
  externalLibs
  cmakeAddExecutableNameOptionSource:
  customizeVMPlugins
  specifyingPlugins
  
  
  *If the method uses the Method Redirect Pattern then (in most instances) the method to modify will be for the buildType. ie. ''methodnameBuildType''
  
  '!

Item was changed:
  ----- Method: CMakeVMMakerSqueakStepByStepNewConfigurationHelp class>>pages (in category 'accessing') -----
  pages
+ "I need the srcDir"
  	^#(overview 
  tests 
  identifyPlatform 
  identifyPlatformAbstractBaseClass
  identifyBuilder
  createTheConfiguration
  excludingConfigFromBuilds
  setAvailableBuildTypes
  firstCMakeGeneration
  tackingStockOne
  cPlatformConfigForSqueak
  methodRedirectPattern
  theVMGenerator
  tackingStockTwo
  forTheImpatient
+ specifyDirectories
  setGlobalOptions
  cmakePrefixPath
  cmakeIncludePath
  cmakeLibraryPath
  cmakeIncludeModules
  cmakeCFlags
  cmakeAddDefinitions
  cmakeWriteDirectoriesDotCmake
  cmakeIncludeDirectories
  preferredIncludes
  standardIncludes
  setGlobalOptionsAfterDetermineSystem
  extraVMSettings
  setCoreSources
  setPlatformSources
  setCrossSources
  setExtraSources
  cmakeSetSourceFilesProperties
  cmakeListAppendLINKLIBSelements
  cmakeAddExecutableNameOptionSource
  setExecutableOutputPath
  addVMPlugins
  generatePluginConfigs
+ specifyPlugins
- specifyingPlugins
  
  processThirdpartyLibraries
  processPlugins
  postBuildActions
  
  setConfigurationDirectory
- setOutputDirectory
  compilingLinkingSetup
  customizeVMDrivers
  
  aNoteOnFoo
  )
  
  !

Item was removed:
- ----- Method: CMakeVMMakerSqueakStepByStepNewConfigurationHelp class>>setOutputDirectory (in category 'pages') -----
- setOutputDirectory
- 	^HelpTopic
- 		title:'Set Output Directory'
- 		contents:
- 'The output directory is where the finished product is placed when the compilation is successful.
- 
- Typically this is ''oscogvm/cmake.products/foo/
- 
- The topmost configuration CPlatformConfigForSqueak defines the output directory as such:
- 
- outputDir
- 	"the directory where built binaries will be stored"
- 	^ outputDir ifNil: [ outputDir := (self topDir / self dirOutput /  self dirInstall) ]	
- 
- which (on linux) translates to ''oscogvm/cmaike.products/(subclass resposibility))''
- 
- Its that (subclass responsibility) we have to customize in our new configuration.
- 
- The convention we use is [Language][VM][MemoryModel]
- 
- Since I am building a Squeak Cog V3 configuration, my method should return "squeak.cog.v3"
- 
- If you look at implementors of dirInstall, you will see that they typically return some pre-defined strings that are defined in the ''cmake directory'' protocol of CPlatformConfigForSqueak.
- 
- For my configuration you can see that I return the "^self squeakCogV3" which returns the directory name that matches the [Language][VM][Memory Model] pattern I need.
- 
- 
- 
- 
- '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakStepByStepNewConfigurationHelp class>>specifyDirectories (in category 'pages') -----
+ specifyDirectories
+ 	^HelpTopic
+ 		title:'Specify Directories'
+ 		contents:
+ 'Our new Configuration must correctly name two directory trees.
+ 
+ The first is  the cmake.build.* directory tree where the generated CMake output is placed.
+ The second is the cmake.products/* directory tree where the compiled vm is placed.
+ 
+ 
+ Correctly naming these is a courtesy you should extend as the system grows*.
+ 
+ 
+ For this particular Configuration, we want a cmake.build.* directory that looks like this:
+ 
+ oscogvm/cmake.products/cmake.build.linux64x86w32BitCompatibility/squeak.cog.spur
+ 
+ 
+ and we want a cmake.products/* directory that looks like this:
+ 
+ oscogvm/cmake.products/cmake.build.linux64x86w32BitCompatibility/squeak.cog.spur/build
+ 
+ 
+ Each directory in those trees is accessible viathe the CPlatformConfigForSqueak in the ''cmake directory'' category.
+ 
+ ToolSet browseClass: CPlatformConfigForSqueak category: ''cmake directory''.
+ 
+ There are two method variants.
+ 
+ The first variant is hardcoded in the method itself. For example the platform directories are stored as...
+ 
+ dirLinux32Armv6
+ 	^''cmake.build.linux32armv6''
+ 
+ or, for our configuration
+ 
+ dirLinux64x86w32BitCompatibility
+ 	^''cmake.build.linux64x86w32BitCompatibility''
+ 	
+ The second variant accesses the  name of a buildType directory via the SqueakCMakeVMMakerAbstractBuilder (do a printIt or doIt).
+ 
+ dirBuild
+ 	^SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo at: #build	
+ 
+ 
+ 
+ Each part of the directory tree is contained/accessible via these methods. It is our job to select the corect ones for our purposes.
+ 
+ Here is an example of mapping this output directory path
+ ''oscogvm/cmake.products/cmake.build.linux64x86w32BitCompatibility/squeak.cog.spur/build''
+ 
+ to the methods that output each part.
+ 
+ |c|
+ c:=(CPlatformConfigForSqueak basicNew). 
+ (c oscogvm), ''/'', (c dirOutput), ''/'', (c dirLinux64x86w32BitCompatibility), ''/'', (c squeakCogSpur), ''/'', (c dirBuild)
+ 
+ 
+ The methods corresponding to each of the above directory names are:
+ 
+ topDir
+ dirOutput
+ dirBuildPlatform
+ dirBuildLanguageVMMM
+ buildType (not a method,this is a private instance variable in the configuration)
+ 
+ The first two, topDir and dirOutput are contained in CPlatformConfigForSqueak
+ dirBuildPlatform is contained at the platform level
+ 
+ SystemNavigation new browseAllImplementorsOf: #dirBuildPlatform localTo:CPlatformConfigForSqueak.
+ 
+ dirBuildLangaugeVMMM is at the specific Configuration level
+ SystemNavigation new browseAllImplementorsOf: #dirBuildLanguageVMMM localTo:CPlatformConfigForSqueak.
+ 
+ buildType is set when we configure the Configuration for a particular buildType and is stored in the SqueakCMakeVMMakerAbstractBuilder at its initialization.
+ 
+ SystemNavigation new browseAllImplementorsOf: #initializeBuildTypeAndDirectoryInfo
+ 
+ It is this values that the CPlatformConfigForSqueak access via dirBuild, dirBuildAssert etc...
+ SystemNavigation new browseAllImplementorsOf: #dirBuild
+ 
+ 
+ Similarly, the build directory tree 
+ ''oscogvm/cmake.build.linux64x86w32BitCompatibility/squeak.cog.spur/build/''
+ 
+ has methods corresponding to each of the above directory names. they are:
+ 
+ topDir
+ dirBuildPlatform
+ dirBuildLanguageVMMM
+ buildType (not a method,this is a private instance variable in the configuration)
+ 
+ It follows then, that for our Configuration we need to make the method dirBuildLanguageVMMM return ''squeak.cog.spur''.
+ 
+ We cover that  in the next Help page.
+ 
+ 
+ *The naming convention is straightforward and convered in the ''Naming Convetions'' page of the Developer Guide Overview Help.
+ 
+ HelpBrowser openOn:CMakeVMMakerSqueakOverviewHelp
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakStepByStepNewConfigurationHelp class>>specifyPlugins (in category 'pages') -----
+ specifyPlugins
+ 	^HelpTopic
+ 		title:'Specify Plugins'
+ 		contents:
+ 'We can specify which plugins we want on our configuration by overriding our platform''s defaultExternalPlugins and defaultInternalPlugins methods.
+ 
+ The default set can be further customized according to buildType if desired via the externalPlugins[BuildType] and internalPlugins[BuildType] redirect pattern
+ 
+ We will cover only the internalPlugins scenario here. The methodology is exactly the same for externalPlugins.
+ 
+ Let''s look first at the defaultInternalPlugins
+ 
+ SystemNavigation browseAllImplementorsOf: #defaultInternalPlugins
+ 
+ Looking at the Linux64x86w32BitConfigUsrLib we see that it just returns a default collection of class names. 
+ 
+ The defaultInternalPlugins message is  typically sent from the internalPlugins[buildType] method.
+ 
+ SystemNavigation browseAllImplementorsOf: #internalPlugins
+ 
+ Here we see that CPlatformConfigForSqueak implements the message redirect pattern.
+ 
+ SystemNavigation browseAllImplementorsOf: #internalPluginsBuild
+ 
+ In CPlatformConfigForSqueak >> internalPluginsBuild forces subclasses to implement the method.
+ 
+ Looking at 
+ 
+ SystemNavigation browseAllImplementorsOf: #internalPluginsBuildMultiThreadedDebug
+ we see the default is to return the default list provided in internalPluginsBuild.
+ 
+ This enables configurations to customize their plugins with a good degree of granularity should we want to change the plugins we use based on buildType while keeping things simple in the default case.
+ 
+ To summarize, a Configuration specifies what plugins it wants to build (either internal or external) by modifying or overriding the list of Plugin class names stored in defaultInternalPlugins or defaultExternalPlugins by overriding the internalPlugins[buildType] method or externalPlugins[buildType] method
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakStepByStepNewConfigurationHelp class>>specifyingPlugins (in category 'pages') -----
- specifyingPlugins
- 	^HelpTopic
- 		title:'Specifying Plugins'
- 		contents:
- 'We can specify which plugins we want on our configuration by overriding our platform''s defaultExternalPlugins and defaultInternalPlugins methods.
- 
- The default set can be further customized according to buildType if desired via the externalPlugins[BuildType] and internalPlugins[BuildType] redirect pattern
- 
- We will cover only the internalPlugins scenario here. The methodology is exactly the same for externalPlugins.
- 
- Let''s look first at the defaultInternalPlugins
- 
- SystemNavigation browseAllImplementorsOf: #defaultInternalPlugins
- 
- Looking at the Linux64x86w32BitConfigUsrLib we see that it just returns a default collection of class names. 
- 
- The defaultInternalPlugins message is  typically sent from the internalPlugins[buildType] method.
- 
- SystemNavigation browseAllImplementorsOf: #internalPlugins
- 
- Here we see that CPlatformConfigForSqueak implements the message redirect pattern.
- 
- SystemNavigation browseAllImplementorsOf: #internalPluginsBuild
- 
- In CPlatformConfigForSqueak >> internalPluginsBuild forces subclasses to implement the method.
- 
- Looking at 
- 
- SystemNavigation browseAllImplementorsOf: #internalPluginsBuildMultiThreadedDebug
- we see the default is to return the default list provided in internalPluginsBuild.
- 
- This enables configurations to customize their plugins with a good degree of granularity should we want to change the plugins we use based on buildType while keeping things simple in the default case.
- 
- To summarize, a Configuration specifies what plugins it wants to build (either internal or external) by modifying or overriding the list of Plugin class names stored in defaultInternalPlugins or defaultExternalPlugins by overriding the internalPlugins[buildType] method or externalPlugins[buildType] method
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- '!

Item was changed:
  ----- Method: CMakeVMakerConfigurationInfo>>visit: (in category 'visiting') -----
  visit: aVisitor
  	|v|
  	"I am being visited by a CMakeVMMakerSqueak configuration class. Extract its information and store it in myself"
  	self flag:'tty'. "why am I not storing the instances itself?does this visit stuff really make sense? I am thinking its 'lightweight'. hmmm"
  	v:= aVisitor basicNew.
+ 	(v class isAbstractBaseClass)
+ 		ifFalse:[
+ 			availableBuildTypes := v availableBuildTypes.
+ 			dirBuildPlatform := v dirBuildPlatform.
+ 			dirSource  := v dirSource.
+ 			excludeFromBuild := v excludeFromBuild.
+ 			isAbstractBaseClass := (v class) isAbstractBaseClass].
- 	availableBuildTypes := v availableBuildTypes.
- 	dirBuildPlatform := v dirBuildPlatform.
- 	dirSource  := v dirSource.
- 	excludeFromBuild := v excludeFromBuild.
- 	isAbstractBaseClass := (v class) isAbstractBaseClass.
  
  !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>dirInstall (in category 'cmake directory') -----
- dirInstall
- 	"the directory of the finished product.. the place where 'make install' puts stuff.
- 	SystemNavigation default browseMethodsWhoseNamesContain: 'outputDir'
-       "
- 	self subclassResponsibility
- !

Item was changed:
  ----- Method: CPlatformConfigForSqueak>>dirSource (in category 'cmake directory') -----
  dirSource
+ "Have your custom Configuration return the directory where the source files are. As of 2016.05.15 they are:	
+ nsspur64src
+ nsspursrc
+ nsspurstack64src
+ nsspurstacksrc
+ spur64src
+ spursistasrc
+ spursrc
+ spurstack64src
+ spurstacksrc
+ src    (cog.v3 lives here)
+ stacksrc"
+ 
+ 	self subclassResponsibility
+ !
- 	^'src'!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>nsspur64src (in category 'cmake source names') -----
+ nsspur64src
+ 	^ 'nsspur64src'!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>nsspursrc (in category 'cmake source names') -----
+ nsspursrc
+ 	^ 'nsspursrc'!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>nsspurstack64src (in category 'cmake source names') -----
+ nsspurstack64src
+ 	^ 'nsspurstack64src'!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>nsspurstacksrc (in category 'cmake source names') -----
+ nsspurstacksrc
+ 	^ 'nsspurstacksrc'!

Item was changed:
  ----- Method: CPlatformConfigForSqueak>>outputDir (in category 'squeak compatability') -----
  outputDir
- 
  	"the directory where built binaries will be stored"
+ 	^ outputDir ifNil: [ outputDir := (self topDir / self dirOutput / self dirBuildPlatform / self dirBuildLanguageVMMM / (buildType asString)) ]	
- 	^ outputDir ifNil: [ outputDir := (self topDir / self dirOutput /  self dirInstall) ]	
  
  !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>spur64src (in category 'cmake source names') -----
+ spur64src
+ 	^ 'spur64src'!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>spursistasrc (in category 'cmake source names') -----
+ spursistasrc
+ 	^ 'spursistasrc'!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>spursrc (in category 'cmake source names') -----
+ spursrc
+ 	^ 'spursrc'!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>spurstack64src (in category 'cmake source names') -----
+ spurstack64src
+ 	^ 'spurstack64src'!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>spurstacksrc (in category 'cmake source names') -----
+ spurstacksrc
+ 	^ 'spurstacksrc'!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>src (in category 'cmake source names') -----
+ src
+ "where cog lives"
+ 	^ 'src'!

Item was changed:
  ----- Method: CPlatformConfigForSqueak>>srcDir (in category 'squeak compatability') -----
  srcDir
+ self flag:'tty: srcDir is a pharo thing. Factor this out in favor of the dirSource for consistency'.
+ 		^ srcDir ifNil: [ srcDir := (self topDir directoryNamed: (self dirSource) )]!
- 		^ srcDir ifNil: [ srcDir := (self topDir directoryNamed: 'src' )]!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>stacksrc (in category 'cmake source names') -----
+ stacksrc
+ 	^ 'stacksrc'!

Item was removed:
- ----- Method: Linux32x86SqueakCogV3Config>>dirInstall (in category 'cmake') -----
- dirInstall
- 	"the directory of the finished product.. the place where 'make install' puts stuff.
- 	SystemNavigation default browseMethodsWhoseNamesContain: 'outputDir'
-       "
- 	^self squeakCogV3!

Item was added:
+ ----- Method: Linux32x86SqueakCogV3Config>>dirSource (in category 'cmake') -----
+ dirSource
+ 	^self src!

Item was changed:
  ----- Method: Linux64x86w32BitSqueakCogSpurConfig>>dirBuildLanguageVMMM (in category 'cmake') -----
  dirBuildLanguageVMMM
+ 	^self squeakCogSpur!
- 	^self squeakCogV3!

Item was removed:
- ----- Method: Linux64x86w32BitSqueakCogSpurConfig>>dirInstall (in category 'cmake') -----
- dirInstall
- 	"the directory of the finished product.. the place where 'make install' puts stuff.
- 	SystemNavigation default browseMethodsWhoseNamesContain: 'outputDir'
-       "
- 	^self squeakCogV3!

Item was added:
+ ----- Method: Linux64x86w32BitSqueakCogSpurConfig>>dirSource (in category 'cmake') -----
+ dirSource
+ 	^self spursrc!

Item was removed:
- ----- Method: Linux64x86w32BitSqueakCogV3Config>>dirInstall (in category 'cmake') -----
- dirInstall
- 	"the directory of the finished product.. the place where 'make install' puts stuff.
- 	SystemNavigation default browseMethodsWhoseNamesContain: 'outputDir'
-       "
- 	^self squeakCogV3!

Item was added:
+ ----- Method: Linux64x86w32BitSqueakCogV3Config>>dirSource (in category 'cmake') -----
+ dirSource
+ 	^self src!

Item was changed:
  ----- Method: SqueakCMakeVMMakerAbstractBuilder>>availableBuildConfigurationsFor: (in category 'queries') -----
  availableBuildConfigurationsFor: aCategoryName
+ 	"answer the CMakeVMakerSqueak configurations in a Smalltalk category that have not excluded themselves from being built."
- 	"answer the CMakeVMakerSqueak configurations in a Smalltalk category that havenot excluded themselves from being built."
  
  "	(((self configurationDictionary:aCategoryName) keys asSortedCollection) size = 0)      
  		ifTrue:[^((self configurationDictionary:aCategoryName) keys asSortedCollection) sort]."
       ^(((self configurationDictionary:aCategoryName) select: [:info| info value excludeFromBuild not ]) keys asSortedCollection) sort
  
  !



More information about the Vm-dev mailing list