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

commits at source.squeak.org commits at source.squeak.org
Thu Jun 26 21:24:37 UTC 2014


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

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

Name: CMakeVMMakerSqueak-tty.77
Author: tty
Time: 26 June 2014, 5:24:18.477 pm
UUID: 38c573a3-07d6-4566-a370-5b501cda1fb7
Ancestors: CMakeVMMakerSqueak-tty.76

Implement a couple of redirect methods I had missed and add their tests.

cleaned up some straggling methods and their tests.

Cleanup and Re-organize help a bit.

Next up: implement configurations for my system and document process in help.

=============== Diff against CMakeVMMakerSqueak-tty.76 ===============

Item was added:
+ CMakeVMMakerSqueakHelp subclass: #CMakeVMMakerSqueakBuildersHelp
+ 	instanceVariableNames: ''
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-Help'!

Item was added:
+ ----- Method: CMakeVMMakerSqueakBuildersHelp class>>bookName (in category 'as yet unclassified') -----
+ bookName 
+ 	^'Builders'!

Item was added:
+ ----- Method: CMakeVMMakerSqueakBuildersHelp class>>buildTypes (in category 'as yet unclassified') -----
+ buildTypes
+ 	^HelpTopic
+ 		title:'build types'
+ 		contents:
+ 'The purpose of this method is to present the end user with the avaiable buildTypes for a configuration category. when they invoke a Builder like so:
+ 
+ 	SqueakLinux32X86Builder availableBuildTypesFor: #Linux32x86SqueakStackV3Config
+ 
+ Since builds are sometimes not available and/or under development  a developer may wish to restrict what build types are avaiable for a configurations Builder by modifying the configuration''s "availableBuilds" method.
+ 
+ The default is all buildTypes: 
+ 	^SqueakCMakeVMMakerAbstractBuilder  default  allBuildConfigurations
+ 
+ You can display no buildTypes with:
+ 	^SqueakCMakeVMMakerAbstractBuilder  default  noBuildConfigurations.
+ 
+ or you can customize it like so:
+ 	^(SqueakCMakeVMMakerAbstractBuilder  default  allBuildConfigurations 
+ 			copyWithoutAll: #( #assertWithHeartbeatTimer #debugWithHeartbeatTimer debugMultiThreadedFFI.....etc))  
+ 
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakBuildersHelp class>>builders (in category 'as yet unclassified') -----
+ builders
+ 	^HelpTopic
+ 		title: 'Builders'
+ 		contents:
+ '
+ CMakeVMakerSqueak Builders provide a facade to CMakeVMmakerSqueak Configurations.
+ 
+ A Builder is both a ''query'' tool and a ''build'' tool.
+ 
+ With a  Builder, you can 
+ 	query its configurationsCategory''s Configurations
+ 	invoke a Configuration to generate CMake files or 
+ 	invoke a Configuration to generateSources which
+ 			invokes VMMaker.oscog to generate source
+ 
+ Builders are concrete instances of the Abstract Base Class:SqueakCMakeVMMakerAbstractBuilder
+ View SqueakCMakeVMMakerAbstractBuilder''s class comments for an overview of this tool.
+ 
+ SqueakCMakeVMMakerAbstractBuilder  browseHierarchy.
+ 
+ Information on creating your own is available via HelpBrowser openOn: CMakeVMMakerSqueakDeveloperHelp
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakBuildersHelp class>>pages (in category 'as yet unclassified') -----
+ pages
+ 	^#(builders queryingBuilders buildTypes scratch)!

Item was added:
+ ----- Method: CMakeVMMakerSqueakBuildersHelp class>>queryingBuilders (in category 'as yet unclassified') -----
+ queryingBuilders
+ 	^HelpTopic
+ 		title: 'Querying Builders'
+ 		contents:
+ '
+ 
+ Below are some queries avaiable via various Builders in the CMakeVMMakerSqueak package:
+ SqueakCMakeVMMakerAbstractBuilder  reset                                     "reset internal state of the Abstract Builder"
+ SqueakCMakeVMMakerAbstractBuilder showExcludeFromBuild:false    "buildable configurations"
+ SqueakCMakeVMMakerAbstractBuilder showExcludeFromBuild:true.    "edit that configs ''excludeFromBuild'' method to change"
+ SqueakCMakeVMMakerAbstractBuilder availableBuildTypes
+ SqueakCMakeVMMakerAbstractBuilder  reset                                     "reset internal state of the Abstract Builder"
+ 
+ 
+ SqueakAndroidBuilder configurationsCategory
+ SqueakAndroidBuilder  buildDirectory
+ SqueakAndroidBuilder  availableBuilds
+ SqueakAndroidBuilder  availableBuildTypesFor:(SqueakAndroidBuilder availableBuilds at:1)
+ SqueakAndroidBuilder  sourceDirectoryFor:(SqueakAndroidBuilder availableBuilds at:1)
+ 
+ SqueakBSDx86Builder configurationsCategory
+ SqueakBSDx86Builder buildDirectory
+ SqueakBSDx86Builder availableBuilds
+ SqueakBSDx86Builder availableBuildTypesFor:(SqueakBSDx86Builder availableBuilds at:1)
+ SqueakBSDx86Builder sourceDirectoryFor:(SqueakBSDx86Builder availableBuilds at:1)
+ 
+ SqueakIA32BochsBuilder configurationsCategory
+ SqueakIA32BochsBuilder buildDirectory
+ SqueakIA32BochsBuilder availableBuilds
+ SqueakIA32BochsBuilder availableBuildTypesFor:(SqueakIA32BochsBuilder availableBuilds at:1)
+ SqueakIA32BochsBuilder sourceDirectoryFor:(SqueakIA32BochsBuilder availableBuilds at:1)
+ 
+ SqueakIOSBuilder configurationsCategory
+ SqueakIOSBuilder buildDirectory
+ SqueakIOSBuilder availableBuilds
+ SqueakIOSBuilder availableBuildTypesFor:(SqueakIOSBuilder availableBuilds at:1)
+ SqueakIOSBuilder sourceDirectoryFor:(SqueakIOSBuilder availableBuilds at:1)
+ 
+ SqueakLinux32ARMv6Builder configurationsCategory
+ SqueakLinux32ARMv6Builder buildDirectory
+ SqueakLinux32ARMv6Builder availableBuilds
+ SqueakLinux32ARMv6Builder availableBuildTypesFor:(SqueakLinux32ARMv6Builder availableBuilds at:1)
+ SqueakLinux32ARMv6Builder sourceDirectoryFor:(SqueakLinux32ARMv6Builder availableBuilds at:1)
+ 
+ 
+ SqueakLinux32x86Builder configurationsCategory
+ SqueakLinux32x86Builder buildDirectory
+ SqueakLinux32x86Builder availableBuilds
+ SqueakLinux32x86Builder availableBuildTypesFor:(SqueakLinux32x86Builder availableBuilds at:1)
+ SqueakLinux32x86Builder sourceDirectoryFor:(SqueakLinux32x86Builder availableBuilds at:1)
+ 
+ SqueakLinux32x86_64Builder configurationsCategory
+ SqueakLinux32x86_64Builder SqueakLinux32x86_64Builder
+ SqueakLinux32x86_64Builder SqueakLinux32x86_64Builder
+ SqueakLinux32x86_64Builder availableBuildTypesFor:(SqueakLinux32x86_64Builder availableBuilds at:1)
+ SqueakLinux32x86_64Builder sourceDirectoryFor:(SqueakLinux32x86_64Builder availableBuilds at:1)
+ 
+ SqueakLinux64x86w32CompatBuilder configurationsCategory
+ SqueakLinux64x86w32CompatBuilder buildDirectory
+ SqueakLinux64x86w32CompatBuilder availableBuilds
+ SqueakLinux64x86w32CompatBuilder availableBuildTypesFor:(SqueakLinux64x86w32CompatBuilder availableBuilds at:1)
+ SqueakLinux64x86w32CompatBuilder sourceDirectoryFor:(SqueakLinux64x86w32CompatBuilder availableBuilds at:1)
+ 
+ SqueakMacOSBuilder configurationsCategory
+ SqueakMacOSBuilder buildDirectory
+ SqueakMacOSBuilder availableBuilds
+ SqueakMacOSBuilder availableBuildTypesFor:(SqueakMacOSBuilder availableBuilds at:1)
+ SqueakMacOSBuilder sourceDirectoryFor:(SqueakMacOSBuilder availableBuilds at:1)
+ 
+ SqueakMacOSPowerPCBuilder configurationsCategory
+ SqueakMacOSPowerPCBuilder buildDirectory
+ SqueakMacOSPowerPCBuilder availableBuilds
+ SqueakMacOSPowerPCBuilder availableBuildTypesFor:(SqueakMacOSPowerPCBuilder availableBuilds at:1)
+ SqueakMacOSPowerPCBuilder sourceDirectoryFor:(SqueakMacOSPowerPCBuilder availableBuilds at:1)
+ 
+ SqueakMacOSX32x86Builder configurationsCategory
+ SqueakMacOSX32x86Builder buildDirectory
+ SqueakMacOSX32x86Builder availableBuilds
+ SqueakMacOSX32x86Builder availableBuildTypesFor:(SqueakMacOSX32x86Builder availableBuilds at:1)
+ SqueakMacOSX32x86Builder sourceDirectoryFor:(SqueakMacOSX32x86Builder availableBuilds at:1)
+ 
+ SqueakSunOS32x86Builder configurationsCategory
+ SqueakSunOS32x86Builder buildDirectory
+ SqueakSunOS32x86Builder availableBuilds
+ SqueakSunOS32x86Builder availableBuildTypesFor:(SqueakSunOS32x86Builder availableBuilds at:1)
+ SqueakSunOS32x86Builder sourceDirectoryFor:(SqueakSunOS32x86Builder availableBuilds at:1)
+ 
+ SqueakWin32x86Builder configurationsCategory
+ SqueakWin32x86Builder buildDirectory
+ SqueakWin32x86Builder availableBuilds
+ SqueakWin32x86Builder availableBuildTypesFor:(SqueakWin32x86Builder availableBuilds at:1)
+ SqueakWin32x86Builder sourceDirectoryFor:(SqueakWin32x86Builder availableBuilds at:1)
+ 
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakBuildersHelp class>>scratch (in category 'as yet unclassified') -----
+ scratch
+ 	^HelpTopic
+ 		title: 'Scratch Notes To Be Organized'
+ 		contents:
+ '
+ HEADS UP!! You can ''print it'' in the examples below
+ -------------------------Using CMakeVMMakerSqueak-------------------------
+ These instructions are duplicated in SqueakCMakeVMMakerAbstractBuilder class comments.
+ 
+ 
+ The easiest way to use this tool is to utilize one of the concrete Builders in category CMakeVMMakerSqueak-Builder.
+ 
+ With a builder, you can query it for information and then invoke it to generate configurations and or source.
+ 
+ Printing or inspecting the following lines will give you a flavor of a typical work-flow.
+ 
+ 
+ -------------Buildable/non-buildable configurations---------
+ SqueakCMakeVMMakerAbstractBuilder showExcludeFromBuild:false    "buildable configurations"
+ SqueakCMakeVMMakerAbstractBuilder showExcludeFromBuild:true.    "edit that configs ''excludeFromBuild'' method to change"
+ SqueakCMakeVMMakerAbstractBuilder availableBuildTypes
+ 
+ -------------------------Querying Builders---------------
+ SqueakLinux32X86Builder configurationsCategory 
+ SqueakLinux32X86Builder buildDirectory 
+ SqueakLinux32X86Builder availableBuilds	 
+ SqueakLinux32X86Builder availableBuildTypesFor:(SqueakLinux32X86Builder availableBuilds at:1)
+ SqueakLinux32X86Builder availableBuildTypesFor: #Linux32x86SqueakStackSpurConfig
+ SqueakLinux32X86Builder availableBuildTypesFor: #Linux32x86SqueakStackV3Config
+ SqueakLinux32X86Builder sourceDirectoryFor:(SqueakLinux32X86Builder availableBuilds at:1)
+ 
+ -------------------------Invoking Builders-------------------------
+ SqueakCMakeVMMakerAbstractBuilder reset
+ SqueakCMakeVMMakerAbstractBuilder availableBuildTypes a SortedCollection(#build #buildAssert #buildAssertITimerHeartbeat #buildDebug #buildDebugITimerHeartbeat #buildDebugMultiThreaded #buildITimerHeartbeat #buildMultiThreaded #buildMultiThreadedAssert #buildMultiThreadedDebug)
+ 
+ [SqueakCMakeVMMakerAbstractBuilder availableBuildTypes do: [:type | 
+ 	SqueakLinux32X86Builder
+ 		configureABuildFor: #Linux32x86SqueakCogV3Config withBuildType: type;	
+ 		generate   ]] on: ProvideAnswerNotification do: [:ex | ex resume:true]
+ 
+ 
+ "generate only CMake config files"
+ SqueakLinux32X86Builder 
+ 	configureABuildFor: #Linux32x86SqueakCogV3Config withBuildType: #buildAssertITimerHeartbeat;
+ 	generate   
+ 
+ "generate configurations and invoke VMMaker to generate source code"
+ SqueakLinux32X86Builder 
+ 	configureABuildFor: #Linux32x86SqueakCogV3Config withBuildType: #buildAssertITimerHeartbeat;
+ 	generateSources  ;
+ 	generate.
+ 
+ -------------------------Compiling Instructions-------------------------
+ open a terminal and go to the configurations build directory for that configuration. (SqueakLinux32X86Builder buildDirectory)
+ change into the build type subdirectory (build, build.assert, build.debug...etc)
+ source build.sh will run ''cmake. make'' 
+ executable is placed in  /products folder.  (SqueakLinux32X86Builder ouputDirectory)
+ 
+ 
+ ----------------------Editing/Constructing Configurations--------------
+ 
+ Configurations are organized by category:  OperatingSystem, VM Word Size, Processor . (i.e MacOSX32x86 configurations reside in CMakeVMMakerSqueak-MacOSX32x86a)
+ For a OperatingSystem,VM Word Size, Processor, configurations are then organized by Language.VM.MemoryManafger (newswpeak.stack.v3, squeak.sista.spur. squeak.cog.spur, etc)
+ 
+ IF an existing configuratin exists, you may edit or subclass it. For a Builder to see it, it must remain in the category.
+ 
+ The flag excludeFromBuild determines wether the builder will build it or not. This flag is set to exclude configurations that are just placeholders.
+ 
+ If you have a special case for an existing [OS][WordSize][Processor].[lang][vm][mm] configuration just subclass it and provide customizations.
+ 
+ TODO: Provide typical customizations and how to implement them
+ 
+ internal/external plugins?
+ compiler flags?
+ includes?
+ 
+ 
+ 
+ 
+ ----------------------Improvements needed-------------------------
+ 
+ The CMakeVMMakerSqueak package has some design hacks because it extends 
+ the pharo CMakeVMMaker package without modifying that code base.
+ Therefore, things that should have been done by introducing squeak sub-classes in the pharo source tree could not be done.
+ 
+ The biggest design ''quirk'' is the use of the Trait TCPlatformConfigForSqueak to enforce a pseudo abstract base class mechanism.
+ The other design ''quirk'' are the overrides of methods in CPlatformConfig in pharo''s package of incompatible methods. (see protocol squeak-compatibility)
+ Because of the existing inheritance tree, the overrides could not happen in one squeak compatibility class, but are implemented
+ in several subclasses of CPlatformConfig.
+ 
+ The Squeak Builders implementation also differs significantly from the pharo implementation.
+ The pharo code''s ''configForDebug/configForReleaase'' has been expanded to support the squeak build needs.
+ 
+ 
+ '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakCommonConfigTest>>testConfigH (in category 'as yet unclassified') -----
- testConfigH
- 	"for each builder, make sure all its configurations provides defaultExternalPlugins"
- 	SqueakCMakeVMMakerAbstractBuilder 
- 		subclassesDo:[:builder | | o |
- 			SqueakUnixConfig 
- 				allSubclassesDo:[:configuration |
- 					(configuration isAbstractBaseClass not)
- 						ifTrue:[o:= configuration new.
- 							    self assert:(o  configH isString)]]]
- 
- 
- 
- 
- 
- 
- 
- 
- 
- !

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>availableBuildTypes (in category 'pages') -----
- availableBuildTypes
- 	^HelpTopic
- 		title:'configuring available build types'
- 		contents:
- 'The purpose of this method is to present the end user with the avaiable buildTypes for a configuration category. when they invoke a Builder like so:
- 
- 	SqueakLinux32X86Builder availableBuildTypesFor: #Linux32x86SqueakStackV3Config
- 
- Since builds are sometimes not available and/or under development  a developer may wish to restrict what build types are avaiable for a configurations Builder by modifying the configuration''s "availableBuilds" method.
- 
- The default is all buildTypes: 
- 	^SqueakCMakeVMMakerAbstractBuilder  default  allBuildConfigurations
- 
- You can display no buildTypes with:
- 	^SqueakCMakeVMMakerAbstractBuilder  default  noBuildConfigurations.
- 
- or you can customize it like so:
- 	^(SqueakCMakeVMMakerAbstractBuilder  default  allBuildConfigurations 
- 			copyWithoutAll: #( #assertWithHeartbeatTimer #debugWithHeartbeatTimer debugMultiThreadedFFI.....etc))  
- 
- 
- '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>buildersAndConfigs (in category 'pages') -----
+ buildersAndConfigs
+ 	^HelpTopic
+ 		title:'Organization'
+ 		contents:
+ '
+ The CMakeVMMakerSqueak Builders and Configurations are organized to mirror  Eliot''s GNU build system organization.
+ 
+ The intent is to reduce brain cycles translating from the computer''s directory layout to what you see in CMakeVMMakerSqueak by providing a (nearly) one-to-one correspondence.
+ 
+ Eliot has named build directories in Cog/ svn (oscogvm directory in this system) by the convention
+ build.[OperatingSystem].[VMWordSize].[Processor Architecture]. For  example: build.macosx32x86 
+ 
+ Under each build.[OperatingSystem].[VMWordSize].[Processor Architecture]  directory are subdirectories for each
+ [Language][VM][MemoryManager]. example newspeak.sista.spur.
+ 
+ The permutations of [Language][VM][MemoryManager] currently are: 
+ 
+ [newspeak | squeak]. [cog | sista | stack]. [spur | v3] or 2!! x 3!! x 2!!  which is  between 12 and eleventy billion permutations 
+ 
+ Similarly, in CMakeVMMakerSqueak,  Categories containing Configurations are organized by CMakeVMMakerSqueak-[OperatingSystem][VMWordSize][Processor][etc]
+ 
+ Configuration classes within a CMakeVMMakerSqueak-[OperatingSystem][VMWordSize][Processor][etc] are Named:
+ [[Squeak] | [] ][Language][VM][MemoryManager][etc]Config and correspond with the 12 permutations
+ 
+ When CMakeVMMakerSqueak generates build or products , it prefaces Eliot''s naming convention with a ''cmake.''
+ 
+ for example builds take place in:  cmake.build.linux.32.x66/squeak.cog.spur
+ and output is placed in cmake.products. for example: oscogvm/cmake.products/squeak.cog.v3.noGL/
+ 
+ Builders manage Configurations and Builds for a particular [Language][VM][MemoryManager]  category.
+ THERE IS A ONE-TO-ONE CORRESPONEDENCE between aConcreteBuilder>configurationsCategory and the Smalltalk Category name. 
+ If you change one, you must change the other in order for the Builder to manage that configuration.
+ 
+ example: SqueakMacOSX32x86Builder configurationsCategory
+ 
+ 
+ 
+ '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>cMakeMacros (in category 'pages') -----
- cMakeMacros
- 	^HelpTopic
- 		title:'configuring cmake macros'
- 		contents:
- '
- SystemNavigation default browseMethodsWhoseNamesContain: ''cMakeMacros''
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>configH (in category 'pages') -----
- configH
- 	^HelpTopic
- 		title:'configuring configH'
- 		contents:
- '
- Use AConcreteBuilder>>configH to tell your plugins where to find its libraries etc.
- 
- The version of this is platform dependent.
- 
- You may also need to edit your oscogvm/platforms/YOUR PLATFORM/plugins/ThePLuginDirectory/acinclude.m4 file so that it conforms to your system.
- 
-  
- 
- based on my work getting the oscogvm/platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c... to compile.
- Working from the C source up to configuration then to Squeak....we start with the source code for sqUnixUUID.c
- 
- #include "config.h"
- 
- #if defined(HAVE_SYS_UUID_H)
- # include <sys/types.h>
- # include <sys/uuid.h>
- #elif defined(HAVE_UUID_UUID_H)
- # include <uuid/uuid.h>
- #elif defined(HAVE_UUID_H)
- # include <uuid.h>
- #else
- # error cannot find a uuid.h to include
- #endif
- 
- On my platform, I needed that HAVE_UUID_H define set. 
- To do that, I modified the acinclude.m4 file to check for the <uuid.h> (my changes in Bold--I emailed you this previously)
- 
- 
- AC_MSG_CHECKING([for UUID support uuid/uuid.h] and uuid_generate)
- AC_TRY_COMPILE([#include <uuid/uuid.h>],[uuid_generate;],[
-  AC_MSG_RESULT(yes)
-  AC_CHECK_LIB(uuid, uuid_generate, LIB_UUID="-luuid")],[
-  AC_MSG_RESULT(no)
- AC_MSG_CHECKING([for UUID support uuid and uuidgen] )
-  AC_TRY_COMPILE([#include <uuid.h>],[uuidgen;],[
-  AC_MSG_RESULT(yes)
-  AC_CHECK_LIB(uuid, uuidgen, LIB_UUID="-luuid" )],[
-  AC_MSG_RESULT(no)
- AC_PLUGIN_DISABLE
-  ])
- ])
- 
- AC_SUBST(LIB_UUID)
- 
-  
- 
- 
- For the source code to see it, the config.h file needs to be in place with that HAVE_UUID_H  flag*, so in Squeak, I over-ride the configH method to include that define flag:
- 
- 
- configH
- 
- 
- #define HAVE_UUID_H 1 
- #define HAVE_UUIDGEN 1
- 
- #ifndef __sq_config_h
- 
- The CMakeVMMakerSqueak ''generate'' message to a builder dumps that config.h to the build directory.
- running the build.sh generated script invokes
- cmake .
- 
-  command which looks in the specified source/config directory to configure the GNU-Makefile to look for that source code and pairs it with the generated config.h
- 
- The CMake generate GNU-Make system then uses those source/build artifacts to put the output in the oscogvm/products directory.
- 
- 
- So, let me summarize.
- 
- 1. We know that the plugins depend on config.h
- 2. Ideally, that config.h should be incrementally build by the Squeak plugins themselves or the CMakeVMMaker configurations. How? I don''t know yet. Looking at it, the UUIDPlugin class would have to contribute its configuration information.
-     this is non-trivial.
- 3. So, in the meantime, CMakeVMMakerSqueak configurations are classes that encapsulate a <drum roll please> Configuration.
- 4. It seems reasonable to make this part of the configuration setup process.
- 5. I will/have documented in in the HelpBrowser HelpTopic for the system.
- 
- My apologies for the long-winded explanation. 
- 
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>excludeFromBuild (in category 'pages') -----
- excludeFromBuild
- 	^HelpTopic
- 		title:'Excluding a Configuration From Builds'
- 		contents:
- ' The "excludeFromBuild" method in a concrete configuration can be manually toggled to exclude or include a configuration from being built by a builder.
- 
- 	excludeFromBuild
- 		"over-ride to exclude yourself from a build"
- 		^false
- 
- 
-   Be careful witht he logic. True excludes the configuration. False includes the configuration
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>executableName (in category 'pages') -----
- executableName
- 	^HelpTopic
- 		title:'set executable name'
- 		contents:
- '
- In your concrete configuration, set the exectuable name in method "executableName"
- 
- SystemNavigation default browseMethodsWhoseNamesContain: ''executableName''
- 
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>extraPluginSettings (in category 'pages') -----
- extraPluginSettings
- 	^HelpTopic
- 		title:'set extra plugin settings'
- 		contents:
- 'In your concrete configuration configure "extraPluginSettings"
- 
- SystemNavigation default browseMethodsWhoseNamesContain: ''extraPluginSettings''
- 
- 
- look at the differences in the concrete implementations, especially by platform type.	
- 
- '!

Item was changed:
  ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>igorStasenkoDesign (in category 'pages') -----
  igorStasenkoDesign
  	^HelpTopic
+ 		title:'Design Patterns'
- 		title:'Igor Stasenko''s CMakeVMMaker Design for pharo'
  		contents:
  'CMakeVMMakerSqueak extends Igor Stasenko''s pharo work in CMMakeVMMaker. 
  
+ The system employs the Visitor design pattern in two places.
- For this reason, a discussion of the Pharo design is apropos as it will support later discussion about CMakeVMMakerSqueak
  
+ 1. When a CPlatformConfigForSqueak subclass invokes CMakeVMGeneratorForSqueak>>generate passing itself as the visitor.
+ 2. In SqueakCMakeVMMakerAbstractBuilder when Configuration information is cached in a CMakeVMakerConfigurationInfo.
- TODO: finish me
  
+ The CPlatformConfigForSqueak makes heavy use of a Template pattern. This pattern is used extensively in the protocol ''cmake buildType redirects''.
+ This is used to force correct implementation of configurations. It also extends the pharo system to support the build types required for the 
  
+ Fairly extensive Tests are written to ensure correct implementation of Configurations.
+ 
  '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>organizationOfBuildersConfigs (in category 'pages') -----
- organizationOfBuildersConfigs
- 	^HelpTopic
- 		title:'Organization Of Builder and Configuration Classes'
- 		contents:
- '
- The CMakeVMMakerSqueak Builders and Configurations are organized to mirror  Eliot''s GNU build system organization.
- 
- The intent is to reduce brain cycles translating from the computer''s directory layout to what you see in CMakeVMMakerSqueak by providing a (nearly) one-to-one correspondence.
- 
- Eliot has named build directories in Cog/ svn (oscogvm directory in this system) by the convention
- build.[OperatingSystem].[VMWordSize].[Processor Architecture]. For  example: build.macosx32x86 
- 
- Under each build.[OperatingSystem].[VMWordSize].[Processor Architecture]  directory are subdirectories for each
- [Language][VM][MemoryManager]. example newspeak.sista.spur.
- 
- The permutations of [Language][VM][MemoryManager] currently are: 
- 
- [newspeak | squeak]. [cog | sista | stack]. [spur | v3] or 2!! x 3!! x 2!!  which is  between 12 and eleventy billion permutations 
- 
- Similarly, in CMakeVMMakerSqueak,  Categories containing Configurations are organized by CMakeVMMakerSqueak-[OperatingSystem][VMWordSize][Processor][etc]
- 
- Configuration classes within a CMakeVMMakerSqueak-[OperatingSystem][VMWordSize][Processor][etc] are Named:
- [[Squeak] | [] ][Language][VM][MemoryManager][etc]Config and correspond with the 12 permutations
- 
- When CMakeVMMakerSqueak generates build or products , it prefaces Eliot''s naming convention with a ''cmake.''
- 
- for example builds take place in:  cmake.build.linux.32.x66/squeak.cog.spur
- and output is placed in cmake.products. for example: oscogvm/cmake.products/squeak.cog.v3.noGL/
- 
- Builders manage Configurations and Builds for a particular [Language][VM][MemoryManager]  category.
- THERE IS A ONE-TO-ONE CORRESPONEDENCE between aConcreteBuilder>configurationsCategory and the Smalltalk Category name. 
- If you change one, you must change the other in order for the Builder to manage that configuration.
- 
- example: SqueakMacOSBuilder configurationsCategory
- 
- 
- 
- Semi-Kludgey--yes, but an acceptable kludge in my estimation.
- 
- '!

Item was changed:
  ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>overview (in category 'pages') -----
  overview
  	^HelpTopic
+ 		title:'Overview'
- 		title:'CMakeVMMaker in a couple of sentences.'
  		contents:
+ '
+ The heart of the package is CMakeGeneratorForSqueak and its two subclasses CMakeVMGeneratorForSqueak and CMakePluginGeneratorForSqueak.
- 'The heart of the package is CMakeGenerator and its two subclasses CMakeVMGenerator and CMakePluginGenerator.
  
- CMakeGenerator collects information from CPlatformConf, CMThirdpartyLibrary and InterpreterPlugins and writes it out to CMake files and associated directories. 
  
+ CMakeVMGeneratorForSqueak collects information from subclasses of CPlatformConfigForSqueak, CMThirdpartyLibrary and InterpreterPlugins and writes it out to CMake files and associated directories. 
+ 
  From there, the user invokes cmake and make using a generated build.sh script.
  
  The programmer directs the flow of the generator by coding a subclass of CPlatformConf, setting it up correctly and asking it to generate itself. 
  
+ The configuration then invokes the CMakeGeneratorForSqueak passing itself as an argument. 
- The configuration then invokes the CMakeVMGenerator passing itself as an argument. 
  
  The VMGeneratator extracts the information and utilizes VMPluginGenerator to generate plugin stuff, the CPlatformConf to generate other stuff and CMThirdPartyLibrary''s to generate other stuff. 
  
  The end result is a CMake evironment that is set up to correctly build a VM
+ 
+ Concrete implementations of SqueakCMakeVMMakerAbstractBuilder provide an invokation facade and configuration query capabilities.
+ 
+ 
  '!

Item was changed:
  ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>pages (in category 'pages') -----
  pages
+ 	^#(overview prerequisites igorStasenkoDesign  buildersAndConfigs terms )!
- 	^#(overview prerequisites igorStasenkoDesign plugins organizationOfBuildersConfigs availableBuildTypes excludeFromBuild executableName extraPluginSettings preferredIncludes setExtraTargetProperties cMakeMacros configH scratch)!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>plugins (in category 'pages') -----
- plugins
- 	^HelpTopic
- 		title:'setting up defaultInternalPlugins and defaultExternalPlugins'
- 		contents:
- '
- bad mojo with plugins.int plugins.ext in GNU and plugin names in CMakeVMMaker(Squeak)
- 
- |s|
- Transcript clear.
- s:=SortedCollection new.
- InterpreterPlugin allSubclassesDo:[:p|
- 	p moduleName = ''SqueakSSL''                    "<-------Text from plugins.int or plugins.ext"
- 		ifTrue:[Transcript show:p name;cr].
- 	s add: (p moduleName)].
- 
- 
- '
- 
- !

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>preferredIncludes (in category 'pages') -----
- preferredIncludes
- 	^HelpTopic
- 		title:'configuring preferred includes'
- 		contents:
- '
- SystemNavigation default browseMethodsWhoseNamesContain: ''preferredIncludes'' 
- '!

Item was changed:
  ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>prerequisites (in category 'pages') -----
  prerequisites
  	^HelpTopic
+ 		title:'Prerequisites'
- 		title:'Pre-requisits'
  		contents:
+ 'The CMakeVMMakerSqueak depends on CMakeVMMaker (a pharo implementation)
- 'TODO: write me
  
+ CMake from  http://www.cmake.org/ is required to process the output of this package.
  
+ This package was written using cmake version 2.8.12
  '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>protocols (in category 'pages') -----
- protocols
- 	^HelpTopic
- 		title:'An Explanation of Protocols in TCPaltformConfigForSqueak'
- 		contents:
- 'TCPlatformConfigForSqueak browse
- 
- The purpose of the Trait is to force Abstract Base Class like behavior for pharo''s CMakeVMMaker CPlatformConfig base class. 
- 
- Since I do not have access to modify the base class, I used the Trait TCPlatformConfigForSqueak to squeeze in that behavior ''from the side'' if you will.
- 
- The following protocols conform to those in the CPlatformConfig:
- 
- accessing
- compiler flags
- headers generation
- plugin extra rules
- settings
- source files
- source generation
- utils
- 
- 
- For methods in the CMakeVMaker CPlatformConfig that where not portable to Squeak, I overrode those.
- They reside in the protocol:
- 
- squeak compatability
- 
- 
- The pharo CMakeVMMaker does not have the functionality to support the naming conventions and buildTypes that CMakeVMMakerSqueak requires. To that end, extra ''cmake-ish'' behavior is placed that is unique to CMakeVMMakerSqueak is placed in the following protocols:
- 
- cmake configuration
- cmake config buid type
- cmake directory
- cmake executable names
- 
- 
- 
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>scratch (in category 'pages') -----
- scratch
- 	^HelpTopic
- 		title:'Program Flow'
- 		contents:
- '
- Create a new configuration
- add external/internal plugins
- generateSources
- 	verifies Sources file in place
- 	prepares CogRTLOpcodes/CogIA32Compiler/StackInterpreter depending on configuration used
- 	initializes/prepares VMMaker
- 	asks VMMaker to generateEntire while intercepting notifications and deprecation warnings.
- 
- generate 
- 	a Configuration passes itself to a CMakeVMGeneratorForSqueak
- 	an output  writeStream is opened
- 	ask the config to set global options on the Generator. Stuff like (maker set: ''CMAKE_C_COMPILER'' to: ''/usr/bin/gcc'')
- 	"We are setting up a file here"
- 	print the header
- 	set project name
- 	set system specific global options after system is known (all existing implementations are XCode CMAKE_OSX_SYSROOT etc)
-         set up  directories.cmake  content with all the topDir,srcDir etc in the Generator
- 	9. is troubling. set''s CMAKECONFIGURATIONTYPES to Release
- 	set up preferedIncludes. This one is important as it is config specific
- 	set up standardIncludes. This one is important as it is config specific
- 	add CompilerFlag Definitions. This is where customization among release, debug, assert flags are set.
- 	extraVMSettings             . more custom stuff for the VM. The generateConfigH issue resides here
-         put this string  ''add_executable(Squeak  ${coreSources} ${crossVMSources} ${platformVMSources} ${extraSources})''
- 	generate and store internally  the internal/external plugin CMakePluginGeneratorForSqueak . Each of these has its own Stream etc.for CMake
-         processThirdPartyLibraries This loops through the CMakeVMMaker-Libs that are associated with this config. these libs generate their own spiel
- 	                           libraries can be downloaded here?
- 	processPlugins   pretty complicated as well.
- 	setExtraTargetProperties   <---this is important. It is used by "most" configs and sets compile flags, etc. This will be messed up for cut-n-paste I did .
- 	self cmd: ''target_link_libraries'' params: self moduleName , '' ${LINKLIBS}''.  just puts in doc
-         postBuildActions  <--used by Mac configs need to clean this up.
- 	saveFile  "Writes CMakeLists.txt"
- 	generateBuildScript "this is config specific"
- 	
- 
- ----------------------------------------------------------------------------------
- SqeuakCogMTBuilder buildUnix32
- 		self new buildUnix32
- >>>		     SqueakCogMTUnixConfig new.   (CPlatformConfig initialize
- 		     			   	  		   super initialize
- 								   generateForRelease = true.
- 				addExternalPlugins#();
- 				addInternalPlugins#();
- 1.				generateSources;
- 2. 				generate.
- 
- 
- 
- 
- 
- 
- 
- 1 SqueakCogMTUnixConfig generateSources
-  CPlatformConfig generateSources
- 	"Generate whole VM + plugins sources"
- 	| maker |
- 
- 	self validateSourcesPresent.  
- 	self prepareForGeneration.
- 	
- 	"suppress questions and deprecation warnings during generation "
- 	[[
- 		
- 		maker := self prepareVMMaker.
- 	
- 		maker interpreterClass: self interpreterClass.
- 		self cogitClass ifNotNil: [:cg | 
- 			maker cogitClass: cg.
- 			cg initializeWithOptions: (maker instVarNamed: ''optionsDictionary'')
- 		].
- 		
- 		maker generateEntire
- 
- 	] on: ProvideAnswerNotification do: [:ex | ex resume: true ]]
- 	on: Deprecation do: [:ex | ex resume ].
- 	
- 	
- 
- 2. generate 
- 	self generatePluginsList. writes PLUGINS.txt file from pluginsTemplate
- 	self generateLicense.     writes LICENSE.txt file from licenseTemplate
- 3.->	^CMakeVMGeneratorForSqueak generate:self    pass myself (a config) to a VMGenerator
- 
- CMakeVMGenerator generate
- 3. generate
- 	| intPlugins extPlugins |
- 			
- 	output := String new writeStream.
- 	
- 4.	config setGlobalOptions: self.
- 	
- 	self 
- 5		printHeader;
- 6		project: config executableName.
- 
- 7.	config setGlobalOptionsAfterDetermineSystem: self.
- 
- 8.	config setupDirectories: self.
- 	
- 9.	self message: ''${CMAKE_MODULE_PATH}''.
- 	self set: ''CMAKE_CONFIGURATION_TYPES'' to: ''Release''.
- 
- 10.	config preferredIncludes 
- 		do: [ :each | self includeDirectories: each ].
- 	self includeDirectories: self includeDirs.	
- 11	config standardIncludes 
- 		do: [:each | self includeDirectories: each ].
- 
- 12	self addDefinitions: config compilerFlags.
- 
- 13.	config extraVMSettings: self.
- 	
- 14	self puts: ''add_executable('' , config executableName, '' '', config executableType, '' '' , self sources , '')''.
- 	
- 15	intPlugins := self generatePluginConfigs: config internalPlugins internal: true.  <---this area is complicated, but it generates Plugin files
- 	extPlugins := self generatePluginConfigs: config externalPlugins internal: false.
- 
- 16	self processThirdpartyLibraries.
- 	
- 17	self processPlugins:  intPlugins, extPlugins.
- 
- 18.	config setExtraTargetProperties: self.    <---this is very important
- 	
- 	self cmd: ''target_link_libraries''
- 		params: self moduleName , '' ${LINKLIBS}''.
- 
- 19.	config postBuildActions: self.
- 	
- 20	self saveFile.
- 	self generateBuildScript. build.sh
- 
- 
- 
- 
- 4. setGlobalOptions: maker
- 
- 	"set any CMake global options, before declaring a project in cmake file"
- 	
- 	maker set: ''CMAKE_C_COMPILER'' to: ''/usr/bin/gcc''.
- 	maker set: ''CMAKE_CXX_COMPILER'' to: ''/usr/bin/g++''.
- 
- 5. printHeader
- 	
- 	self puts: ''# This is automatically generated file using '', self configurationName, '' on '',
- 		Date current asString, '' '' , Time current asString;
- 		puts: ''cmake_minimum_required(VERSION 2.6.2)''
- 
- 
- 
- 6 project: aProjectName
- 	self cmd: ''project'' qparams: aProjectName{
- 
- 	     cmd: cmdName qparams: aString
- 	     	"quoted params"
- 		output nextPutAll: cmdName;
- 		nextPutAll: ''("'';
- 		nextPutAll: aString;
- 		nextPutAll: ''")'';
- 		cr
-         }
- 
- 7.SqueakIPhoneSqueakStackV3Config setGlobalOptionsAfterDetermineSystem: maker   <---here is a representative example
- 	self setGlobalOptions: maker.	
- 	maker 
- 		set: ''CMAKE_OSX_SYSROOT'' 
- 		to: (''/Applications/Xcode.app/Contents/Developer/Platforms/{1}.platform/Developer/SDKs/{1}{2}.sdk''
- 			format: { self targetDevice. self sdkVersion })
- 
- 8. config setupDirectories:self
-    this creates directories.cmake with all the top/build/etc directories
- 
- 9. this is troubling, sets CMAKE_CONFIGURATION_TYPES to ''Release''.
- 
- 
- 
- 10. preferredIncludes
- 	^ #(
- 	''${buildDir}/''
- 	''${platformsDir}/iOS/vm/iPhone'' "config.h is here. Why???"
- 	)
- 
- 	this gets put int CMakeGenerator{
- 
- 	     includeDirectories: aString
- 	     	 ^self cmd: ''include_directories'' params: aString
- 
- 
- 11. standardIncludes <---this one is important
- 
- 
- 12. addDefinitions:config compilerFlags
-     compilerFlags 
- 	| releaseFlags |
- 	
- 	releaseFlags := self isGenerateForRelease 
- 		ifTrue: [ self compilerFlagsRelease ]
- 		ifFalse: [ self compilerFlagsDebug ].
- 		
- 	^ String streamContents: [ :stream |
- 		((self commonCompilerFlags, releaseFlags)
- 			asStringOn: stream 
- 			delimiter: '' '' )]
- 
- 
- 13. extraVMSettings: maker    very customizable method. 
- 	| versionC |
- 	self generateConfigH.  <---the issue Eliot raised. 
- 	
- 	
- 	"output a fake version.c file"
- 	
- 	self write:
- ''int vm_serial= 1;
- char *vm_date= "<HERE IS SUPPOSED TO BE THE DATE>";
- char *cc_version= "<HERE IS SUPPOSED TO BE gcc VERSION>";
- char *ux_version= "<FAKE FROZEN VERSION FOR DEBUGGING PURPOSES>";
- ''
- 	toFile: ''version.c''.
- 
- 
- 14.  ''add_executable(Squeak  ${coreSources} ${crossVMSources} ${platformVMSources} ${extraSources})''
- 
- 
- 
- 15. generatePluginConfigs: plugins internal: bool
- 	"Answers a collection of CMakePluginGenerator instances"
- 	
- 	^ plugins collect: [:each | | plugin |
- 		plugin := Smalltalk at: each.
- 		plugin generateFor: self internal: bool.   <---InterpreterPlugin method added by CMakeVMMaker 
- 	].
- 
- 	generateFor: aCMakeVMGenerator internal: aBoolean 
- 		^ aCMakeVMGenerator 
- 			generatePlugin: self 
- 			internal: aBoolean
- 			extraRules: nil
- 	
- 	so, for each plugin in the generator, invoke my generator method generatePlugin: internal:extraRules:
- 	    THIS invokes CMakePluginGeneratorForSqueak new
- 	     	    generate: aPlugin for: aCMakeVMGenerator internal: aBoolean extraRules: aBlock
- 		    	    doNotGenerate := false.
- 			    internal := aBoolean.
- 			    plugin := aPlugin.
- 			    vmGen := aCMakeVMGenerator.
- 			    extraRules := aBlock.
- 		            ^ self generate{
- 
- 						| name |
- 						output := String new writeStream.
- 
- 						name := plugin moduleName.
- 					#(	vmGen config setGlobalOptions: self.
- 
- 						self 
- 							printHeader;
- 							project: name;
- 							"include directories generated for build"
- 							include: ''../directories.cmake''.
- 
- 						self set: ''CMAKE_CONFIGURATION_TYPES'' to: ''Release''.
- 					).
- 
- 						self message: (internal ifTrue: [ ''Adding internal plugin: ''] ifFalse: [''Adding external plugin: ''])  , name.
- 
- 						self 
- 							set: #pluginName toString: name;
- 							set: #pluginSrc toString: ''${srcPluginsDir}/'', name;
- 							set: #pluginCross toString: ''${crossDir}/plugins/'', name;
- 							set: #pluginPlatform toString: ''${targetPlatform}/plugins/'', name.
- 
- 						"clear LINKLIBS variable"
- 						self set: #LINKLIBS to: ''.		
- 
- 						internal 
- 							ifTrue: [ self puts: ''add_definitions(-DSQUEAK_BUILTIN_PLUGIN)''].
- 
- 						self addSources: { name , ''.c'' } prefixed: ''${pluginSrc}/''.
- 
- 						" default include directories for plugin "
- 						self includeDirectories: ''${pluginSrc} ${pluginCross} ${targetPlatform}/plugins/${pluginName}''.
- 
- 						"Not needed because there are already there (inherited from main configuration)"
- 						"self addDefinitions: vmGen config compilerFlags."
- 
- 						" perform config''s configureXYZ: message to apply per-plugin custom rules, if any "
- 
- 						vmGen config configurePlugin: plugin with: self.
- 
- 						extraRules ifNotNil: [ extraRules value: self ].
- 
- 						" generate a static lib for internal plugin, or shared for external"
- 						internal ifTrue: [
- 							self cmd: ''add_library'' params:  name , '' STATIC ${sources}''.
- 						] ifFalse: [
- 							self cmd: ''add_library'' params: name , '' SHARED ${sources}''.
- 
- 						"	self cmd: ''set_property'' params: ''TARGET '' , name , ''PROPERTY LINK_FLAGS -bundle''"
- 						].
- 
- 						vmGen config extraPluginSettings: self.
- 
- 						self isExternal ifTrue: [
- 							self cmd: ''target_link_libraries''
- 								params: self moduleName , ''${LINKLIBS}''.
- 							].
- 
- 						" see senders of #linkFlags "
- 						self 
- 							cmd: ''set_property'' 
- 							params: ''TARGET'', name, ''PROPERTY LINK_FLAGS "${linkFlags}''.
- 
- 						"set dependencies"
- 						self puts: ''IF ('',self moduleName , ''_dependencies)''.
- 
- 						self cmd: ''add_dependencies''
- 							params: name , ''${'', self moduleName , ''_dependencies}''.
- 
- 						self puts: ''ENDIF ('',self moduleName , ''_dependencies)''.
- 						self saveFile.
- 
- 
- }
- 		 	    
- 
- 
- 
- 
- 
- 16. processThirdpartyLibraries
- 
- 	config thirdpartyLibs do: [:each |
- 		each generateFor: self ]{
- 			      generateFor: aVMGenerator
- 
- 				      | libDir stream contents |
- 
- 				      vmGen := aVMGenerator.
- 
- 				      gen := CMakeGenerator new
- 					      output: (String new writeStream).
- 
- 				      libDir := (aVMGenerator thirdpartyDir / self canonicalName) ensureDirectory.
- 
- 				      stream := String new writeStream.
- 
- 				      self generate.
- 
- 				      stream nextPutAll: (vmGen config fixLineEndsOf: gen output contents).
- 
- 				      contents := stream contents. 
- 
- 				      (self isFile: (libDir asFileReference / gen outputFileName) fullName hasContents: contents) ifFalse: [
- 					      "contents changed, update the file. Because fucking cmake will force rebuild everything if we change its modification date
- 					      without changing its contents"
- 					      (FileStream forceNewFileNamed: (libDir asFileReference / gen outputFileName)) nextPutAll: contents; close.
- 					      ].
- 
- 
- 				      vmGen addSubdirectory:  vmGen thirdpartyDirName , ''/'' , self canonicalName.
- 				      self defineGlobalTargets.
- 
- 
- 			      }
- 
- 
- 
- 17 processPlugins: pluginGenerators
- 	| libs libDeps |
- 
- 	libs := OrderedCollection new.
- 	libDeps := Dictionary new.
- 	pluginGenerators do: [:gen |
- 		gen doNotGenerate ifFalse: [
- 			gen isInternal 
- 				ifTrue: [
- 					libs add: gen plugin moduleName ]
- 				ifFalse: [
- 					"make main module to depend on external plugin, just to make sure it is built 
- 					 before main module built"
- 					self 
- 						cmd: ''add_dependencies'' 
- 						params: config executableName, '' '' , gen plugin moduleName ].
- 				gen externalDependencies 
- 					ifNotEmpty: [ :deps |
- 						libDeps 
- 							at: gen plugin moduleName
- 							put: (deps fold: [ :a :b | a, '' '', b ]) ].
- 			self addSubdirectory: gen plugin moduleName ] ].
- 
- 	self cmd: ''target_link_libraries'' params:  config executableName , '' '' ,
- 		(libs inject: '' into: [:res :ea | res, '' '' , ea ]).
- 
- 	libDeps keysAndValuesDo: [ :moduleName :dependencies |
- 		self 
- 			cmd: ''add_dependencies'' 
- 			params: moduleName, '' '', dependencies ].  
- 
- 	self generateExportsH: libs.
- 
- 
- 18 setExtraTargetProperties: maker
- 
- 	"maker setTargetProperties: ''LINK_FLAGS ""''."
- 		
- 	maker puts: ''set_source_files_properties( ${srcVMDir}/cogit.c PROPERTIES 
- 		COMPILE_FLAGS "-O1 -fno-omit-frame-pointer -momit-leaf-frame-pointer")''.
- 		
- 		
- 	maker 
- 		cmd: ''set_source_files_properties''
- 		params: ''${targetPlatform}/vm/sqUnixHeartbeat.c PROPERTIES 
- 		COMPILE_FLAGS "-O1 -fno-omit-frame-pointer"''.
- 						
- 	maker linkDirectories: ''${CMAKE_FIND_ROOT_PATH}/usr/lib/arm-linux-gnueabihf/''.
- 	
- 	maker addExternalLibraries: 
- 		#(
- 			''m''  "math lib"
- 			''dl''  "dynamic loader"
- 			''pthread'' "posix threads" 
- 		).
- 		
- 	maker set: ''EXECUTABLE_OUTPUT_PATH'' toString: self outputDir fullName.
- 	self addVMDrivers: maker.
- 
- 
- 19. postBuildActions: gen
- 
- 	" override to add custom rules after all targets is defined "
- 	
- 	self write: self fixLibsTemplate toFile: ''fix_libs.cmake''.
- 	
- 	
- 	gen
- 		set: #bundlePath toString: ''${outputDir}/'', self executableName, ''.app'';
- 		set: #pluginsRelPath toString: ''@executable_path/Plugins''.
- 
- 	gen
- 		puts: ''
- 		INSTALL(CODE "
- 			set(externalModulesDir \"${externalModulesDir}\")
- 			set(bundlePath \"${bundlePath}\")
- 			set(pluginsRelPath \"${pluginsRelPath}\")
- 			
- 			include(fix_libs.cmake)
- 		")''
- 			
- "					FILE(GLOB_RECURSE bLibs /${externalModulesDir}/*.*)
- "
- 
- 
- 
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>setExtraTargetProperties (in category 'pages') -----
- setExtraTargetProperties
- 	^HelpTopic
- 		title:'set extra target properties'
- 		contents:
- '
- SystemNavigation default browseMethodsWhoseNamesContain: ''setExtraTargetProperties'' 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>settingCompilerFlags (in category 'pages') -----
- settingCompilerFlags
- 	^HelpTopic
- 		title:'Setting Compiler Flags for a build'
- 		contents:
- 'Each buildType (SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo) may require custom compiler flags.
- 
- Trait TCPlatformConfigForSqueak compilerFlags method provides a method lookup that is invoked for a specific buildType.
- These methods are named compilerFlagsXYZ corresponding to the buildTypes displayed above.
- 
- In the compilerFlagsXYZ method for your concrete configuration, you set the internal state of your configuration.
- 
- Note: there are two legacy internal states from CPlatformConfig in CMakeVMMaker for pharo "compilerFlagsDebug" and "compilerFlagsRelease" that are invoked
- for backwards compatibility.
- 
- '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>terms (in category 'pages') -----
+ terms
+ 	^HelpTopic
+ 		title:'Terms'
+ 		contents:
+ '
+ AbstractBaseClass:   
+ 	Typically the topmost class in a [OS][VMWordSize][Processor][ETC]  class category. Example: CPlatformConfigForSqueak. Most of the configuration action happens at this level and lower.
+ 
+ Builder:                      
+ 	A concrete subclass of SqueakCMakeVMMakerAbstractBuilder. Builders act as a facade for invoking the configurations.They also provide query tools for the configurations that a builder manages. There is a one-to-one correspondence between a Builder''s configurationsCategory and the configurations it manages. example:    SqueakBSDx86Builder configurationsCategory
+ 
+ buildType:
+ 	One of SqueakCMakeVMMakerAbstractBuilder  allBuildTypes 
+                                  
+ 
+ CMakeLists.txt:
+ 	The instructions that CMake uses to build build systems.  One output of a configuration
+ 
+ Configuration:            
+ 	CPlatformConfigForSqueak  and its subclasses. These maintain the definitions that are rendered into CMakeLists.txt files
+ 
+ 
+ Generator:                 
+ 	CMakeGeneratorForSqueak and its subclasses
+ 
+ 
+ Redirect Methods:      
+ 	Given a method X, it is a redirect method if a call to it redirects to xBuildType based on the state of the configurations buildType  buildType variable.  See CPlatformConfigForSqueak protocol ''cmake buildType redirects''
+ 
+ 
+ 
+ 
+ '!

Item was removed:
- CMakeVMMakerSqueakHelp subclass: #CMakeVMMakerSqueakEndUserHelp
- 	instanceVariableNames: ''
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'CMakeVMMakerSqueak-Help'!

Item was removed:
- ----- Method: CMakeVMMakerSqueakEndUserHelp class>>bookName (in category 'as yet unclassified') -----
- bookName 
- 	^'End User Guide'!

Item was removed:
- ----- Method: CMakeVMMakerSqueakEndUserHelp class>>builders (in category 'as yet unclassified') -----
- builders
- 	^HelpTopic
- 		title: 'Builders'
- 		contents:
- '
- CMakeVMakerSqueak Builders provide a facade to CMakeVMmakerSqueak Configurations.
- 
- A Builder is both a ''query'' tool and a ''build'' tool.
- 
- With a  Builder, you can 
- 	query its configurationsCategory''s Configurations
- 	invoke a Configuration to generate CMake files or 
- 	invoke a Configuration to generateSources which
- 			invokes VMMaker.oscog to generate source
- 
- Builders are concrete instances of the Abstract Base Class:SqueakCMakeVMMakerAbstractBuilder
- View SqueakCMakeVMMakerAbstractBuilder''s class comments for an overview of this tool.
- 
- SqueakCMakeVMMakerAbstractBuilder  browseHierarchy.
- 
- Information on creating your own is available via HelpBrowser openOn: CMakeVMMakerSqueakDeveloperHelp
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakEndUserHelp class>>pages (in category 'as yet unclassified') -----
- pages
- 	^#(builders queryingBuilders scratch)!

Item was removed:
- ----- Method: CMakeVMMakerSqueakEndUserHelp class>>queryingBuilders (in category 'as yet unclassified') -----
- queryingBuilders
- 	^HelpTopic
- 		title: 'Querying Builders'
- 		contents:
- '
- 
- Below are some queries avaiable via various Builders in the CMakeVMMakerSqueak package:
- SqueakCMakeVMMakerAbstractBuilder  reset                                     "reset internal state of the Abstract Builder"
- SqueakCMakeVMMakerAbstractBuilder showExcludeFromBuild:false    "buildable configurations"
- SqueakCMakeVMMakerAbstractBuilder showExcludeFromBuild:true.    "edit that configs ''excludeFromBuild'' method to change"
- SqueakCMakeVMMakerAbstractBuilder availableBuildTypes
- SqueakCMakeVMMakerAbstractBuilder  reset                                     "reset internal state of the Abstract Builder"
- 
- 
- SqueakAndroidBuilder configurationsCategory
- SqueakAndroidBuilder  buildDirectory
- SqueakAndroidBuilder  availableBuilds
- SqueakAndroidBuilder  availableBuildTypesFor:(SqueakAndroidBuilder availableBuilds at:1)
- SqueakAndroidBuilder  sourceDirectoryFor:(SqueakAndroidBuilder availableBuilds at:1)
- 
- SqueakBSDx86Builder configurationsCategory
- SqueakBSDx86Builder buildDirectory
- SqueakBSDx86Builder availableBuilds
- SqueakBSDx86Builder availableBuildTypesFor:(SqueakBSDx86Builder availableBuilds at:1)
- SqueakBSDx86Builder sourceDirectoryFor:(SqueakBSDx86Builder availableBuilds at:1)
- 
- SqueakIA32BochsBuilder configurationsCategory
- SqueakIA32BochsBuilder buildDirectory
- SqueakIA32BochsBuilder availableBuilds
- SqueakIA32BochsBuilder availableBuildTypesFor:(SqueakIA32BochsBuilder availableBuilds at:1)
- SqueakIA32BochsBuilder sourceDirectoryFor:(SqueakIA32BochsBuilder availableBuilds at:1)
- 
- SqueakIOSBuilder configurationsCategory
- SqueakIOSBuilder buildDirectory
- SqueakIOSBuilder availableBuilds
- SqueakIOSBuilder availableBuildTypesFor:(SqueakIOSBuilder availableBuilds at:1)
- SqueakIOSBuilder sourceDirectoryFor:(SqueakIOSBuilder availableBuilds at:1)
- 
- SqueakLinux32ARMv6Builder configurationsCategory
- SqueakLinux32ARMv6Builder buildDirectory
- SqueakLinux32ARMv6Builder availableBuilds
- SqueakLinux32ARMv6Builder availableBuildTypesFor:(SqueakLinux32ARMv6Builder availableBuilds at:1)
- SqueakLinux32ARMv6Builder sourceDirectoryFor:(SqueakLinux32ARMv6Builder availableBuilds at:1)
- 
- 
- SqueakLinux32x86Builder configurationsCategory
- SqueakLinux32x86Builder buildDirectory
- SqueakLinux32x86Builder availableBuilds
- SqueakLinux32x86Builder availableBuildTypesFor:(SqueakLinux32x86Builder availableBuilds at:1)
- SqueakLinux32x86Builder sourceDirectoryFor:(SqueakLinux32x86Builder availableBuilds at:1)
- 
- SqueakLinux32x86_64Builder configurationsCategory
- SqueakLinux32x86_64Builder SqueakLinux32x86_64Builder
- SqueakLinux32x86_64Builder SqueakLinux32x86_64Builder
- SqueakLinux32x86_64Builder availableBuildTypesFor:(SqueakLinux32x86_64Builder availableBuilds at:1)
- SqueakLinux32x86_64Builder sourceDirectoryFor:(SqueakLinux32x86_64Builder availableBuilds at:1)
- 
- SqueakLinux64x86w32CompatBuilder configurationsCategory
- SqueakLinux64x86w32CompatBuilder buildDirectory
- SqueakLinux64x86w32CompatBuilder availableBuilds
- SqueakLinux64x86w32CompatBuilder availableBuildTypesFor:(SqueakLinux64x86w32CompatBuilder availableBuilds at:1)
- SqueakLinux64x86w32CompatBuilder sourceDirectoryFor:(SqueakLinux64x86w32CompatBuilder availableBuilds at:1)
- 
- SqueakMacOSBuilder configurationsCategory
- SqueakMacOSBuilder buildDirectory
- SqueakMacOSBuilder availableBuilds
- SqueakMacOSBuilder availableBuildTypesFor:(SqueakMacOSBuilder availableBuilds at:1)
- SqueakMacOSBuilder sourceDirectoryFor:(SqueakMacOSBuilder availableBuilds at:1)
- 
- SqueakMacOSPowerPCBuilder configurationsCategory
- SqueakMacOSPowerPCBuilder buildDirectory
- SqueakMacOSPowerPCBuilder availableBuilds
- SqueakMacOSPowerPCBuilder availableBuildTypesFor:(SqueakMacOSPowerPCBuilder availableBuilds at:1)
- SqueakMacOSPowerPCBuilder sourceDirectoryFor:(SqueakMacOSPowerPCBuilder availableBuilds at:1)
- 
- SqueakMacOSX32x86Builder configurationsCategory
- SqueakMacOSX32x86Builder buildDirectory
- SqueakMacOSX32x86Builder availableBuilds
- SqueakMacOSX32x86Builder availableBuildTypesFor:(SqueakMacOSX32x86Builder availableBuilds at:1)
- SqueakMacOSX32x86Builder sourceDirectoryFor:(SqueakMacOSX32x86Builder availableBuilds at:1)
- 
- SqueakSunOS32x86Builder configurationsCategory
- SqueakSunOS32x86Builder buildDirectory
- SqueakSunOS32x86Builder availableBuilds
- SqueakSunOS32x86Builder availableBuildTypesFor:(SqueakSunOS32x86Builder availableBuilds at:1)
- SqueakSunOS32x86Builder sourceDirectoryFor:(SqueakSunOS32x86Builder availableBuilds at:1)
- 
- SqueakWin32x86Builder configurationsCategory
- SqueakWin32x86Builder buildDirectory
- SqueakWin32x86Builder availableBuilds
- SqueakWin32x86Builder availableBuildTypesFor:(SqueakWin32x86Builder availableBuilds at:1)
- SqueakWin32x86Builder sourceDirectoryFor:(SqueakWin32x86Builder availableBuilds at:1)
- 
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakEndUserHelp class>>scratch (in category 'as yet unclassified') -----
- scratch
- 	^HelpTopic
- 		title: 'Scratch Notes To Be Organized'
- 		contents:
- '
- HEADS UP!! You can ''print it'' in the examples below
- -------------------------Using CMakeVMMakerSqueak-------------------------
- These instructions are duplicated in SqueakCMakeVMMakerAbstractBuilder class comments.
- 
- 
- The easiest way to use this tool is to utilize one of the concrete Builders in category CMakeVMMakerSqueak-Builder.
- 
- With a builder, you can query it for information and then invoke it to generate configurations and or source.
- 
- Printing or inspecting the following lines will give you a flavor of a typical work-flow.
- 
- 
- -------------Buildable/non-buildable configurations---------
- SqueakCMakeVMMakerAbstractBuilder showExcludeFromBuild:false    "buildable configurations"
- SqueakCMakeVMMakerAbstractBuilder showExcludeFromBuild:true.    "edit that configs ''excludeFromBuild'' method to change"
- SqueakCMakeVMMakerAbstractBuilder availableBuildTypes
- 
- -------------------------Querying Builders---------------
- SqueakLinux32X86Builder configurationsCategory 
- SqueakLinux32X86Builder buildDirectory 
- SqueakLinux32X86Builder availableBuilds	 
- SqueakLinux32X86Builder availableBuildTypesFor:(SqueakLinux32X86Builder availableBuilds at:1)
- SqueakLinux32X86Builder availableBuildTypesFor: #Linux32x86SqueakStackSpurConfig
- SqueakLinux32X86Builder availableBuildTypesFor: #Linux32x86SqueakStackV3Config
- SqueakLinux32X86Builder sourceDirectoryFor:(SqueakLinux32X86Builder availableBuilds at:1)
- 
- -------------------------Invoking Builders-------------------------
- SqueakCMakeVMMakerAbstractBuilder reset
- SqueakCMakeVMMakerAbstractBuilder availableBuildTypes a SortedCollection(#build #buildAssert #buildAssertITimerHeartbeat #buildDebug #buildDebugITimerHeartbeat #buildDebugMultiThreaded #buildITimerHeartbeat #buildMultiThreaded #buildMultiThreadedAssert #buildMultiThreadedDebug)
- 
- [SqueakCMakeVMMakerAbstractBuilder availableBuildTypes do: [:type | 
- 	SqueakLinux32X86Builder
- 		configureABuildFor: #Linux32x86SqueakCogV3Config withBuildType: type;	
- 		generate   ]] on: ProvideAnswerNotification do: [:ex | ex resume:true]
- 
- 
- "generate only CMake config files"
- SqueakLinux32X86Builder 
- 	configureABuildFor: #Linux32x86SqueakCogV3Config withBuildType: #buildAssertITimerHeartbeat;
- 	generate   
- 
- "generate configurations and invoke VMMaker to generate source code"
- SqueakLinux32X86Builder 
- 	configureABuildFor: #Linux32x86SqueakCogV3Config withBuildType: #buildAssertITimerHeartbeat;
- 	generateSources  ;
- 	generate.
- 
- -------------------------Compiling Instructions-------------------------
- open a terminal and go to the configurations build directory for that configuration. (SqueakLinux32X86Builder buildDirectory)
- change into the build type subdirectory (build, build.assert, build.debug...etc)
- source build.sh will run ''cmake. make'' 
- executable is placed in  /products folder.  (SqueakLinux32X86Builder ouputDirectory)
- 
- 
- ----------------------Editing/Constructing Configurations--------------
- 
- Configurations are organized by category:  OperatingSystem, VM Word Size, Processor . (i.e MacOSX32x86 configurations reside in CMakeVMMakerSqueak-MacOSX32x86a)
- For a OperatingSystem,VM Word Size, Processor, configurations are then organized by Language.VM.MemoryManafger (newswpeak.stack.v3, squeak.sista.spur. squeak.cog.spur, etc)
- 
- IF an existing configuratin exists, you may edit or subclass it. For a Builder to see it, it must remain in the category.
- 
- The flag excludeFromBuild determines wether the builder will build it or not. This flag is set to exclude configurations that are just placeholders.
- 
- If you have a special case for an existing [OS][WordSize][Processor].[lang][vm][mm] configuration just subclass it and provide customizations.
- 
- TODO: Provide typical customizations and how to implement them
- 
- internal/external plugins?
- compiler flags?
- includes?
- 
- 
- 
- 
- ----------------------Improvements needed-------------------------
- 
- The CMakeVMMakerSqueak package has some design hacks because it extends 
- the pharo CMakeVMMaker package without modifying that code base.
- Therefore, things that should have been done by introducing squeak sub-classes in the pharo source tree could not be done.
- 
- The biggest design ''quirk'' is the use of the Trait TCPlatformConfigForSqueak to enforce a pseudo abstract base class mechanism.
- The other design ''quirk'' are the overrides of methods in CPlatformConfig in pharo''s package of incompatible methods. (see protocol squeak-compatibility)
- Because of the existing inheritance tree, the overrides could not happen in one squeak compatibility class, but are implemented
- in several subclasses of CPlatformConfig.
- 
- The Squeak Builders implementation also differs significantly from the pharo implementation.
- The pharo code''s ''configForDebug/configForReleaase'' has been expanded to support the squeak build needs.
- 
- 
- '!

Item was changed:
  ----- Method: CMakeVMMakerSqueakHelp class>>pages (in category 'accessing') -----
  pages
+ 	^#(CMakeVMMakerSqueakDeveloperHelp CMakeVMMakerSqueakBuildersHelp CMakeVMMakerSqueakHowToCreateNewConfigurationHelp)!
- 	^#(CMakeVMMakerSqueakDeveloperHelp CMakeVMMakerSqueakEndUserHelp CMakeVMMakerSqueakHowToCreateNewConfiguration)!

Item was removed:
- CMakeVMMakerSqueakHelp subclass: #CMakeVMMakerSqueakHowToCreateNewConfiguration
- 	instanceVariableNames: ''
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'CMakeVMMakerSqueak-Help'!
- 
- !CMakeVMMakerSqueakHowToCreateNewConfiguration commentStamp: 'tty 6/16/2014 12:19' prior: 0!
- A CMakeVMMakerSqueakNewConfigurationStepByStepHelp itemizes the steps needed to create a new build configuration.
- 
- HelpBrowser openOn: CMakeVMMakerSqueakNewConfigurationStepByStepHelp!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>bookName (in category 'accessing') -----
- bookName 
- 	^'Setting up a Configuration. Step By Step.'!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>pages (in category 'accessing') -----
- pages
- 	^#(step1 
- 		step2 
- 		step3 
- 		step4 
- 		step4a 
- 		step4b 
- 		step4c 
- 		step4d 
- 		step4e 
- 		step4f 
- 		step4g 
- 		step4h 
- 		step4i 
- 		step4j 
- 		step4k 
- 		step4l 
- 		step4m
- 		step5 
- )!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step1 (in category 'pages') -----
- step1
- 	^HelpTopic
- 		title:'Step 1. Choose Your Category'
- 		contents:
- ' CMakeVMMakerSqueak configurations are placed in a Smalltalk category with the naming convention [OS][VMWordSize][Processor]
- 
- You start by choosing the correct Smalltalk Category in which to place your new Configuration.
- 
- Example; If you need a new configuration for Linux for a 32 bit VM on the x86 platform--[Linux][32][x86]--Choose the CMakeVMMakerSqueak-Linux32x86 category.
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step2 (in category 'pages') -----
- step2
- 	^HelpTopic
- 		title:'Step 2. Copy Existing Concrete Configuration'
- 		contents:
- 'Now that you have selected your category to place your new Configuration, you need to create your configuration.
- 
- Like Categories, Configurations adhere to a naming convention. It is [language][VM][MemoryManager][etc]Config
- example: squeak.cog.v3.tty  is a configuration for compiling Squeak with a Cog VM with the old V3 memory manager and this is a special configuration for tty.
- 
- The easiest way to create the config is to subclass an existing configuration. In this case I would subclass squeak.cog.v3.
- 
- IMPORTANT: Do not copy a configuration (usually the top one in a category) that has the "	uses: TCPlatformConfigForSqueak"
- line in its definition. While there are technical reasons for this warning, the important one is that it makes coding a pain-in-the-butt.
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step3 (in category 'pages') -----
- step3
- 	^HelpTopic
- 		title:'Step 4. Customize the "cmake" protocol'
- 		contents:
- 'TODO
- dirInstall
- 	"the directory of the finished product.. the place where ''make install'' puts stuff.
- 	SystemNavigation default browseMethodsWhoseNamesContain: ''dirInstall''
-       "
- 	^self squeakCogV3 , ''.noGL''
- 
- 
- excludeFromBuild
- 	^false   "build this configuration"
- "	^true"
- 
- executableName
- 	^ self vmCogExecutableName
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4 (in category 'pages') -----
- step4
- 	^HelpTopic
- 		title:'Step 4. Customize the "cmake build type config" protocol'
- 		contents:
- 'When we invoke a Builder with a command like:
- 
- SqueakLinux64x86w32CompatBuilder
- 	configureA: #Linux64x86w32BitSqueakCogV3SlackwareNoGLConfig forBuildType: #buildDebugITimerHeartbeat;
- 	generateSources;
- 	generate.  
- 
- We are telling the Builder to select a Configuration and have that Configuration configure itself to produce CMake output for the buildType: #buildDebugITimerHeartbeat;
- 
- On your configuration the entry point for your configuration is one of:
- 
- configureBuild
- configureBuildAssert
- configureBuildAssertITimerHeartbeat
- configureBuildDebug
- configureBuildDebugITimerHeartbeat                        <----this one is selected by buildType: #buildDebugITimerHeartbeat;
- configureBuildITimerHeartbeat
- configureBuildMultiThreaded
- configureBuildMultiThreadedAssert
- configureBuildMultiThreadedDebug
- 
- Within this method, system state is set up and customizable for many methods in CMakeVMaker CPlatformConfig.
- 
- "setGlobalOptions: aMaker"
- "setGlobalOptionsAfterDetermineSystem: aMaker"
- setupDirectories
- preferredIncludes
- standardIncludes
- compilerFlags
- "extraVMSettings: aMaker"
- internalPlugins
- externalPlugins
- thirdpartyLibs
- "setExtraTargetProperties: aMaker"
- "postBuildActions: aMaker"
- configH
- 
- The methods above that take the : aMaker argument are handled on-the-fly later in the process and are only presented here for informational purposes.
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4a (in category 'pages') -----
- step4a
- 	^HelpTopic
- 		title:'Step 4a. setGlobalOptions'
- 		contents:
- 'TODO: summarize this
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4b (in category 'pages') -----
- step4b
- 	^HelpTopic
- 		title:'Step 4b. setGlobalOptionsAfterDetermineSystem'
- 		contents:
- 'TODO: summarize this
- 
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4c (in category 'pages') -----
- step4c
- 	^HelpTopic
- 		title:'Step 4c. setupDirectories'
- 		contents:
- 'TODO: summarize this
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4d (in category 'pages') -----
- step4d
- 	^HelpTopic
- 		title:'Step 4d. preferredIncludes'
- 		contents:
- 'This is handy when ''make'' cannot find a header.
- 
-  For example, when compiling 
- 
- I got error:
- Scanning dependencies of target UnixOSProcessPlugin
- /..../oscogvm/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c:48:26: fatal error: SocketPlugin.h: No such file or directory
- 
- From my topDir (oscogvm) I did  a search and found SocketPlugin.h exits in  ./platforms/Cross/plugins/SocketPlugin/SocketPlugin.h
- 
- in my root config class for my category, I had...
- 
- ''${targetPlatform}/plugins/SocketPlugin''
- 
- I changed it to 
- 
- ''${crossDir}/plugins/SocketPlugin''
- 
- deleted my files in my build directory, re-ran the generate and...
- 
- 
- 
- 	SystemNavigation default browseMethodsWhoseNamesContain: ''preferredIncludes''
-   
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4e (in category 'pages') -----
- step4e
- 	^HelpTopic
- 		title:'Step 4e. standardIncludes'
- 		contents:
- 'TODO: summarize this
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4f (in category 'pages') -----
- step4f
- 	^HelpTopic
- 		title:'Step 4f. compilerFlags'
- 		contents:
- 'TODO: summarize this
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4g (in category 'pages') -----
- step4g
- 	^HelpTopic
- 		title:'Step 4g. extraVMSettings'
- 		contents:
- 'TODO: summarize this
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4h (in category 'pages') -----
- step4h
- 	^HelpTopic
- 		title:'Step4h internalPlugins'
- 		contents:
- 'TODO: summarize this
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4i (in category 'pages') -----
- step4i
- 	^HelpTopic
- 		title:'Step4i externalPlugins'
- 		contents:
- 'TODO: summarize this
- 
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4j (in category 'pages') -----
- step4j
- 	^HelpTopic
- 		title:'Step4j thirdpartyLibs'
- 		contents:
- 'TODO: summarize this
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4k (in category 'pages') -----
- step4k
- 	^HelpTopic
- 		title:'Step4k setExtraTargetProperties:aMaker'
- 		contents:
- 'TODO: summarize this
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4l (in category 'pages') -----
- step4l
- 	^HelpTopic
- 		title:'Step4k postBuildActions: aMaker'
- 		contents:
- 'TODO: summarize this
- 
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step4m (in category 'pages') -----
- step4m
- 	^HelpTopic
- 		title:'Step4m configH'
- 		contents:
- ' This is the contents of a config.h file in the build directory.
- It is used only in Unix builds in CMakeVMMaker.
- 
- 
- It is called from the method ''extraVMSettings'' of  CogUnixConfig in CMakeVMMaker when CogUnixConfig sends the message:		self generateConfigH.
- 
- To provide a custom config.h CMakeVMakerSqueak subclasses that message ''self generateConfigH'' and routes the call
- to ''generateConfigH: aBuildType''
- 
- From there, a block is evaluated appropriate for the build type that invokes a ''configHBuildXYZ'' method which can be overridden by you to 
- return a custom config.h. The default is to return the base configH.
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was removed:
- ----- Method: CMakeVMMakerSqueakHowToCreateNewConfiguration class>>step5 (in category 'pages') -----
- step5
- 	^HelpTopic
- 		title:'Step5 set up ''cmake directory'' protocol'
- 		contents:
- 'The cmake directories protocol contains directory names for your platform, build directory 
- 
- See the chapter titled: ''An Explanation of Protocols in TCPaltformConfigForSqueak'' in 
- HelpBrowser openOn:CMakeVMMakerSqueakDeveloperHelp  
- 
- The ones that your Configuration must implement are:
- 
- dirBuildPlatform
- dirBuildLanguageVMMM
- 
- 
- Basically, we are building a directory like this:
- oscogvm/cmake.build.linux32.x86/squeak.cog.v3/build.assert 
- 
- which, when expressed as message names reduces to:
- 
- topDir/dirLinux32x86/squeakCogV3/dirBuildAssert
- 
- which are further reduced to 
- 
- topDir/dirBuildPlatform/dirBuildLanguageVMMM/dirBuildAssert
- 
- It is the two in the middle that you must customize. (dirBuildAssert is dynamically set by a Builder in a script, to be covered later)
- To see how, take a look at the implementors of the two. its quite intuitive once you see it as it is based off our standard naming conventions.
- 
- SystemNavigation default browseMethodsWhoseNamesContain: ''dirBuildPlatform''
- SystemNavigation default browseMethodsWhoseNamesContain: ''dirBuildLanguageVMMM''
- 
- For our purposes in this example, we want:
- 
- 
- dirBuildPlatform
- 	^self dirLinux32x86
- and
- 
- dirBuildLanguageVMMM
- 	^self squeakCogV3
- 
- 
- A Reminder: Consistent Naming Conventions Are Our Friends!!
- 
- '!

Item was added:
+ CMakeVMMakerSqueakHelp subclass: #CMakeVMMakerSqueakHowToCreateNewConfigurationHelp
+ 	instanceVariableNames: ''
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-Help'!
+ 
+ !CMakeVMMakerSqueakHowToCreateNewConfigurationHelp commentStamp: 'tty 6/16/2014 12:19' prior: 0!
+ A CMakeVMMakerSqueakNewConfigurationStepByStepHelp itemizes the steps needed to create a new build configuration.
+ 
+ HelpBrowser openOn: CMakeVMMakerSqueakNewConfigurationStepByStepHelp!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>bookName (in category 'accessing') -----
+ bookName 
+ 	^'Setting up a Configuration. Step By Step.'!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>pages (in category 'accessing') -----
+ pages
+ 	^#(step1 
+ 		step2 
+ 		step3 
+ 		step4 
+ 		step4a 
+ 		step4b 
+ 		step4c 
+ 		step4d 
+ 		step4e 
+ 		step4f 
+ 		step4g 
+ 		step4h 
+ 		step4i 
+ 		step4j 
+ 		step4k 
+ 		step4l 
+ 		step4m
+ 		step5 
+ )!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step1 (in category 'pages') -----
+ step1
+ 	^HelpTopic
+ 		title:'Step 1. Choose Your Category'
+ 		contents:
+ ' CMakeVMMakerSqueak configurations are placed in a Smalltalk category with the naming convention [OS][VMWordSize][Processor]
+ 
+ You start by choosing the correct Smalltalk Category in which to place your new Configuration.
+ 
+ Example; If you need a new configuration for Linux for a 32 bit VM on the x86 platform--[Linux][32][x86]--Choose the CMakeVMMakerSqueak-Linux32x86 category.
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step2 (in category 'pages') -----
+ step2
+ 	^HelpTopic
+ 		title:'Step 2. Copy Existing Concrete Configuration'
+ 		contents:
+ 'Now that you have selected your category to place your new Configuration, you need to create your configuration.
+ 
+ Like Categories, Configurations adhere to a naming convention. It is [language][VM][MemoryManager][etc]Config
+ example: squeak.cog.v3.tty  is a configuration for compiling Squeak with a Cog VM with the old V3 memory manager and this is a special configuration for tty.
+ 
+ The easiest way to create the config is to subclass an existing configuration. In this case I would subclass squeak.cog.v3.
+ 
+ IMPORTANT: Do not copy a configuration (usually the top one in a category) that has the "	uses: TCPlatformConfigForSqueak"
+ line in its definition. While there are technical reasons for this warning, the important one is that it makes coding a pain-in-the-butt.
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step3 (in category 'pages') -----
+ step3
+ 	^HelpTopic
+ 		title:'Step 4. Customize the "cmake" protocol'
+ 		contents:
+ 'TODO
+ dirInstall
+ 	"the directory of the finished product.. the place where ''make install'' puts stuff.
+ 	SystemNavigation default browseMethodsWhoseNamesContain: ''dirInstall''
+       "
+ 	^self squeakCogV3 , ''.noGL''
+ 
+ 
+ excludeFromBuild
+ 	^false   "build this configuration"
+ "	^true"
+ 
+ executableName
+ 	^ self vmCogExecutableName
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4 (in category 'pages') -----
+ step4
+ 	^HelpTopic
+ 		title:'Step 4. Customize the "cmake build type config" protocol'
+ 		contents:
+ 'When we invoke a Builder with a command like:
+ 
+ SqueakLinux64x86w32CompatBuilder
+ 	configureA: #Linux64x86w32BitSqueakCogV3SlackwareNoGLConfig forBuildType: #buildDebugITimerHeartbeat;
+ 	generateSources;
+ 	generate.  
+ 
+ We are telling the Builder to select a Configuration and have that Configuration configure itself to produce CMake output for the buildType: #buildDebugITimerHeartbeat;
+ 
+ On your configuration the entry point for your configuration is one of:
+ 
+ configureBuild
+ configureBuildAssert
+ configureBuildAssertITimerHeartbeat
+ configureBuildDebug
+ configureBuildDebugITimerHeartbeat                        <----this one is selected by buildType: #buildDebugITimerHeartbeat;
+ configureBuildITimerHeartbeat
+ configureBuildMultiThreaded
+ configureBuildMultiThreadedAssert
+ configureBuildMultiThreadedDebug
+ 
+ Within this method, system state is set up and customizable for many methods in CMakeVMaker CPlatformConfig.
+ 
+ "setGlobalOptions: aMaker"
+ "setGlobalOptionsAfterDetermineSystem: aMaker"
+ setupDirectories
+ preferredIncludes
+ standardIncludes
+ compilerFlags
+ "extraVMSettings: aMaker"
+ internalPlugins
+ externalPlugins
+ thirdpartyLibs
+ "setExtraTargetProperties: aMaker"
+ "postBuildActions: aMaker"
+ configH
+ 
+ The methods above that take the : aMaker argument are handled on-the-fly later in the process and are only presented here for informational purposes.
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4a (in category 'pages') -----
+ step4a
+ 	^HelpTopic
+ 		title:'Step 4a. setGlobalOptions'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4b (in category 'pages') -----
+ step4b
+ 	^HelpTopic
+ 		title:'Step 4b. setGlobalOptionsAfterDetermineSystem'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4c (in category 'pages') -----
+ step4c
+ 	^HelpTopic
+ 		title:'Step 4c. setupDirectories'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4d (in category 'pages') -----
+ step4d
+ 	^HelpTopic
+ 		title:'Step 4d. preferredIncludes'
+ 		contents:
+ 'This is handy when ''make'' cannot find a header.
+ 
+  For example, when compiling 
+ 
+ I got error:
+ Scanning dependencies of target UnixOSProcessPlugin
+ /..../oscogvm/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c:48:26: fatal error: SocketPlugin.h: No such file or directory
+ 
+ From my topDir (oscogvm) I did  a search and found SocketPlugin.h exits in  ./platforms/Cross/plugins/SocketPlugin/SocketPlugin.h
+ 
+ in my root config class for my category, I had...
+ 
+ ''${targetPlatform}/plugins/SocketPlugin''
+ 
+ I changed it to 
+ 
+ ''${crossDir}/plugins/SocketPlugin''
+ 
+ deleted my files in my build directory, re-ran the generate and...
+ 
+ 
+ 
+ 	SystemNavigation default browseMethodsWhoseNamesContain: ''preferredIncludes''
+   
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4e (in category 'pages') -----
+ step4e
+ 	^HelpTopic
+ 		title:'Step 4e. standardIncludes'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4f (in category 'pages') -----
+ step4f
+ 	^HelpTopic
+ 		title:'Step 4f. compilerFlags'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4g (in category 'pages') -----
+ step4g
+ 	^HelpTopic
+ 		title:'Step 4g. extraVMSettings'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4h (in category 'pages') -----
+ step4h
+ 	^HelpTopic
+ 		title:'Step4h internalPlugins'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4i (in category 'pages') -----
+ step4i
+ 	^HelpTopic
+ 		title:'Step4i externalPlugins'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4j (in category 'pages') -----
+ step4j
+ 	^HelpTopic
+ 		title:'Step4j thirdpartyLibs'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4k (in category 'pages') -----
+ step4k
+ 	^HelpTopic
+ 		title:'Step4k setExtraTargetProperties:aMaker'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4l (in category 'pages') -----
+ step4l
+ 	^HelpTopic
+ 		title:'Step4k postBuildActions: aMaker'
+ 		contents:
+ 'TODO: summarize this
+ 
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step4m (in category 'pages') -----
+ step4m
+ 	^HelpTopic
+ 		title:'Step4m configH'
+ 		contents:
+ ' This is the contents of a config.h file in the build directory.
+ It is used only in Unix builds in CMakeVMMaker.
+ 
+ 
+ It is called from the method ''extraVMSettings'' of  CogUnixConfig in CMakeVMMaker when CogUnixConfig sends the message:		self generateConfigH.
+ 
+ To provide a custom config.h CMakeVMakerSqueak subclasses that message ''self generateConfigH'' and routes the call
+ to ''generateConfigH: aBuildType''
+ 
+ From there, a block is evaluated appropriate for the build type that invokes a ''configHBuildXYZ'' method which can be overridden by you to 
+ return a custom config.h. The default is to return the base configH.
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was added:
+ ----- Method: CMakeVMMakerSqueakHowToCreateNewConfigurationHelp class>>step5 (in category 'pages') -----
+ step5
+ 	^HelpTopic
+ 		title:'Step5 set up ''cmake directory'' protocol'
+ 		contents:
+ 'The cmake directories protocol contains directory names for your platform, build directory 
+ 
+ See the chapter titled: ''An Explanation of Protocols in TCPaltformConfigForSqueak'' in 
+ HelpBrowser openOn:CMakeVMMakerSqueakDeveloperHelp  
+ 
+ The ones that your Configuration must implement are:
+ 
+ dirBuildPlatform
+ dirBuildLanguageVMMM
+ 
+ 
+ Basically, we are building a directory like this:
+ oscogvm/cmake.build.linux32.x86/squeak.cog.v3/build.assert 
+ 
+ which, when expressed as message names reduces to:
+ 
+ topDir/dirLinux32x86/squeakCogV3/dirBuildAssert
+ 
+ which are further reduced to 
+ 
+ topDir/dirBuildPlatform/dirBuildLanguageVMMM/dirBuildAssert
+ 
+ It is the two in the middle that you must customize. (dirBuildAssert is dynamically set by a Builder in a script, to be covered later)
+ To see how, take a look at the implementors of the two. its quite intuitive once you see it as it is based off our standard naming conventions.
+ 
+ SystemNavigation default browseMethodsWhoseNamesContain: ''dirBuildPlatform''
+ SystemNavigation default browseMethodsWhoseNamesContain: ''dirBuildLanguageVMMM''
+ 
+ For our purposes in this example, we want:
+ 
+ 
+ dirBuildPlatform
+ 	^self dirLinux32x86
+ and
+ 
+ dirBuildLanguageVMMM
+ 	^self squeakCogV3
+ 
+ 
+ A Reminder: Consistent Naming Conventions Are Our Friends!!
+ 
+ '!

Item was changed:
  ----- Method: CMakeVMMakerSqueakRedirectMethodsTest>>testCommonCompilerFlags (in category 'as yet unclassified') -----
  testCommonCompilerFlags
  	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o buildTypes|
  					o:= configuration new.
  					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
  						ifTrue:[
  							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
  							buildTypes do:[:buildType |
  								o configureForBuildType: buildType.
  								self assert:(o  commonCompilerFlags isArray)]]]].
  !

Item was changed:
  ----- Method: CMakeVMMakerSqueakRedirectMethodsTest>>testCompilerFlags (in category 'as yet unclassified') -----
  testCompilerFlags
  	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o buildTypes|
  					o:= configuration new.
  					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
  						ifTrue:[
  							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
  							buildTypes do:[:buildType |
  								o configureForBuildType: buildType.
  								self assert:(o  compilerFlags isString).
  								self assert:(o  compilerFlags size > 0)]]]].
  
  
  
  
  
  
  
  !

Item was added:
+ ----- Method: CMakeVMMakerSqueakRedirectMethodsTest>>testConfigH (in category 'as yet unclassified') -----
+ testConfigH
+ 	#(#SqueakUnixConfig) 
+ 		do:[:each | 
+ 			(Smalltalk at:each) 
+ 				allSubclassesDo:[:configuration | | o buildTypes|
+ 	
+ 					o:= configuration new.
+ 					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
+ 						ifTrue:[
+ 							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
+ 							buildTypes do:[:buildType |
+ 								o configureForBuildType: buildType.
+ 								self assert:(o  configH isString).
+ 								self assert:(o  configH size > 0)]]]].
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ !

Item was changed:
  ----- Method: CMakeVMMakerSqueakRedirectMethodsTest>>testExternalPlugins (in category 'as yet unclassified') -----
  testExternalPlugins
  	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o buildTypes|
  					o:= configuration new.
  					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
  						ifTrue:[
  							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
  							buildTypes do:[:buildType |
  								o configureForBuildType: buildType.
  								self assert:(o  externalPlugins isArray).
  								]]]].
  
  
  
  
  
  
  
  !

Item was added:
+ ----- Method: CMakeVMMakerSqueakRedirectMethodsTest>>testFrameworks (in category 'as yet unclassified') -----
+ testFrameworks
+ 	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
+ 		do:[:each | 
+ 			(Smalltalk at:each) 
+ 				allSubclassesDo:[:configuration | | o buildTypes|
+ 					o:= configuration new.
+ 					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
+ 						ifTrue:[
+ 							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
+ 							buildTypes do:[:buildType |
+ 								o configureForBuildType: buildType.
+ 								self assert:(o  frameworks isKindOf: Collection)]]]].
+ !

Item was changed:
  ----- Method: CMakeVMMakerSqueakRedirectMethodsTest>>testInternalPlugins (in category 'as yet unclassified') -----
  testInternalPlugins
  	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o buildTypes|
  					o:= configuration new.
  					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
  						ifTrue:[
  							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
  							buildTypes do:[:buildType |
  								o configureForBuildType: buildType.
  								self assert:(o  externalPlugins isArray).
  								]]]].
  
  
  
  
  
  
  
  !

Item was changed:
  ----- Method: CMakeVMMakerSqueakRedirectMethodsTest>>testLinkFlags (in category 'as yet unclassified') -----
  testLinkFlags
  	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o buildTypes|
  					o:= configuration new.
  					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
  						ifTrue:[
  							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
  							buildTypes do:[:buildType |
  								o configureForBuildType: buildType.
  								self assert:(o  linkFlags isArray)]]]].!

Item was changed:
  ----- Method: CMakeVMMakerSqueakRedirectMethodsTest>>testPreferredIncludes (in category 'as yet unclassified') -----
  testPreferredIncludes
  	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o buildTypes|
  					o:= configuration new.
  					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
  						ifTrue:[
  							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
  							buildTypes do:[:buildType |
  								o configureForBuildType: buildType.
  								self assert:(o  preferredIncludes isKindOf: Collection)]]]].
  !

Item was changed:
  ----- Method: CMakeVMMakerSqueakRedirectMethodsTest>>testStandardIncludes (in category 'as yet unclassified') -----
  testStandardIncludes
  	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o buildTypes|
  					o:= configuration new.
  					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
  						ifTrue:[
  							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
  							buildTypes do:[:buildType |
  								o configureForBuildType: buildType.
  								self assert:(o  standardIncludes isKindOf: Collection)]]]].
  !

Item was changed:
  ----- Method: CMakeVMMakerSqueakRedirectMethodsTest>>testThirdPartyLibs (in category 'as yet unclassified') -----
  testThirdPartyLibs
  	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o buildTypes|
  					o:= configuration new.
  					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
  						ifTrue:[
  							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
  							buildTypes do:[:buildType |
  								o configureForBuildType: buildType.
  								self assert:(o  thirdPartyLibs isKindOf: Collection).
  								]]]].
  
  
  
  
  
  
  
  !

Item was added:
+ ----- Method: CMakeVMMakerSqueakRedirectMethodsWithArgTest>>testExtraVMSettings (in category 'as yet unclassified') -----
+ testExtraVMSettings
+ 	self flag:'tty'. "Is the self shouldnt sufficient?"
+ 	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
+ 		do:[:each | 
+ 			(Smalltalk at:each) 
+ 				allSubclassesDo:[:configuration | | o buildTypes vmGenerator|
+ 					o:= configuration new.
+ 					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
+ 						ifTrue:[
+ 							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
+ 							buildTypes do:[:buildType |
+ 								o configureForBuildType: buildType.
+ 								vmGenerator:=CMakeVMGeneratorForSqueak new.
+ 								vmGenerator config: o.
+ 								vmGenerator output:(String new writeStream).
+ 								self shouldnt: [o extraVMSettings: vmGenerator] raise: Error]]]].
+ !

Item was removed:
- ----- Method: CMakeVMMakerSqueakUnixConfigTest>>testConfigH (in category 'as yet unclassified') -----
- testConfigH
- 	#( SqueakUnixConfig)
- 		do:[:each | 
- 			(Smalltalk at:each) 
- 				allSubclassesDo:[:configuration | | o |
- 							o:= configuration new.
- 					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
- 								ifTrue:[
- 							o:= configuration new.
- 							(o excludeFromBuild not)
- 								ifTrue:[self assert:(o  configH isString)]]]]
- 
- 
- 
- !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configH (in category 'headers generation') -----
- configH
- "ONLY USED ON UNIX CONFIGS included here for completeness and consistency CogUnixConfig browse.
- "
- "
- Use  configH to tell your plugins where to find its libraries etc.
- The version of this is platform dependent.
- You may also need to edit your oscogvm/platforms/YOUR PLATFORM/plugins/ThePLuginDirectory/acinclude.m4 file so that it conforms to your system.
- 
- tty needed a custom version of this in Linux32x86SqueakCogV3NoGLConfig in order to build the UUIDPlugin.
- 
- Go to oscogvm/platforms/YOUR PLATFORM/plugins/ThePLuginDirectory and look at the acinclude.m4 file
- you may need to edit that .
- 
- NOTE: CPlatformConfig contains a useable version of this that you can modify. 
- 
- I reproduce it here, but with double quotes changed to two single quotes so that the commenting will hold.
- I provide a <---N.B quotes need changing at each place they have been modified.
- 
- Again. it is easier to copy the one in CPlatformConfig.
- 
- 
- 	^ '
- #ifndef __sq_config_h
- #define __sq_config_h
- 
- /* explicit image width */
- 
- #define HAVE_INTERP_H 1
- 
- /* package options */
- 
- #define USE_X11 1
- #define USE_X11_GLX 1
- /* #undef       USE_QUARTZ */
- /* #undef       USE_QUARTZ_CGL */
- /* #undef       USE_RFB */
- 
- /* libraries */
- 
- /* #undef       HAVE_LIBX11 */
- #define HAVE_LIBXEXT 1
- #define HAVE_LIBDL 1
- /* #undef       HAVE_DYLD */
- /* #undef       HAVE_LIBFFI */
- /* #undef       HAVE_ICONV */
- 
- /* #undef       USE_AUDIO_NONE */
- /* #undef       USE_AUDIO_SUN */
- /* #undef       USE_AUDIO_NAS */
- /* #undef       USE_AUDIO_OSS */
- /* #undef       USE_AUDIO_MACOSX */
- /* #undef       OSS_DEVICE */
- 
- /* header files */
- 
- #define HAVE_UNISTD_H 1
- /* #undef       NEED_GETHOSTNAME_P */
- 
- #define HAVE_DIRENT_H 1
- /* #undef       HAVE_SYS_NDIR_H */
- /* #undef       HAVE_SYS_DIR_H */
- /* #undef       HAVE_NDIR_H */
- #define HAVE_DLFCN_H 1
- /* #undef       HAVE_ICONV_H */
- 
- #define HAVE_SYS_TIME_H 1
- #define TIME_WITH_SYS_TIME 1
- 
- #define HAVE_SYS_FILIO_H 1
- 
- /* #undef       HAVE_SYS_AUDIOIO_H */
- /* #undef       HAVE_SUN_AUDIOIO_H */
- 
- /* #undef       HAVE_PTY_H */
- /* #undef       HAVE_UTIL_H */
- #define HAVE_LIBUTIL_H 1
- /* #undef       HAVE_STROPTS_H */
- 
- #define HAVE_GL_GL_H 1
- /* #undef       HAVE_OPENGL_GL_H */
- 
- /* #undef       NEED_SUNOS_H */
- 
- 
- #define HAVE_UUID_H
- /* system calls/library functions */
- 
- #define AT_EXIT atexit
- 
- #define HAVE_TZSET 1
- 
- #define HAVE_OPENPTY 1
- /* #undef       HAVE_UNIX98_PTYS */
- 
- #define HAVE_SNPRINTF 1
- /* #undef       HAVE___SNPRINTF */
- 
- #define HAVE_MMAP 1
- 
- /* #undef       HAVE_DYLD */
- 
- #define HAVE_LANGINFO_CODESET 1
- 
- #define HAVE_ALLOCA 1
- /* #undef       HAVE_ALLOCA_H */
- 
- #define HAVE_UNSETENV 1
- 
- #define HAVE_NANOSLEEP 1
- 
- /* widths of primitive types */
- 
- #define SIZEOF_INT 4
- #define SIZEOF_LONG 4
- #define SIZEOF_LONG_LONG 8
- #define SIZEOF_VOID_P 4
- 
- /* structures */
- 
- #define HAVE_TM_GMTOFF 1
- #define HAVE_TIMEZONE 1
- 
- /* typedefs */
- 
- /* #undef       size_t */
- /* #undef       socklen_t */
- 
- #define squeakInt64 long long
- 
- /* architecture */
- 
- #define OS_TYPE ''unix''    <---N.B quotes need changing at each place they have been modifying.
- 
- #define VM_HOST ''i386-freebsd8.2''    <---N.B quotes need changing at each place they have been modifying.
- #define VM_HOST_CPU ''i386''    <---N.B quotes need changing at each place they have been modifying.
- /* #undef       VM_HOST_VENDOR */
- #define VM_HOST_OS ''freebsd8.2''   <---N.B quotes need changing at each place they have been modifying.
- #define VM_BUILD_STRING ''Unix built on ''__DATE__ '' ''__TIME__'' Compiler: ''__VERSION__          <---N.B quotes need changing at each place they have been modifying.
- 
- /* #undef       WORDS_BIGENDIAN */
- /* #undef       DOUBLE_WORD_ALIGNMENT */
- 
- /* damage containment */
- 
- /* #undef       DARWIN */
- 
- #ifdef NEED_SUNOS_H
- # include ''sunos.h''    <---N.B quotes need changing at each place they have been modifying.
- #endif
- 
- /* other configured variables */
- 
- #define SQ_VERSION ''3.9a-7024''    <---N.B quotes need changing at each place they have been modifying.
- #define VM_VERSION ''3.9-7''    <---N.B quotes need changing at each place they have been modifying.
- #define VM_MODULE_PREFIX ''    <---N.B quotes need changing at each place they have been modifying.
- /* #undef VM_DLSYM_PREFIX */    
- #define VM_X11DIR '/usr/X11R6/lib'    <---N.B quotes need changing at each place they have been modifying.
- 
- /* avoid dependencies on glibc2.3 */
- 
- /* #undef HAVE_FEATURES_H */
- 
- #if defined(HAVE_FEATURES_H)
- # include ''glibc.h''    <---N.B quotes need changing at each place they have been modifying.
- #endif
- 
- #endif /* __sq_config_h */
- 																																																																					
- 																																																																				'
- "!

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configHBuild (in category 'headers generation') -----
- configHBuild
- 	"convenience method to customize configH for this buildType. default is self configH
- 	^self configH"
- 	self subclassResponsibility
- !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configHBuildAssert (in category 'headers generation') -----
- configHBuildAssert
- 	"convenience method to customize configH for this buildType. default is self configH
- 	^self configH"
- 	self subclassResponsibility
- !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configHBuildAssertITimerHeartbeat (in category 'headers generation') -----
- configHBuildAssertITimerHeartbeat
- 	"convenience method to customize configH for this buildType. default is self configH
- 	^self configH"
- 	self subclassResponsibility
- !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configHBuildDebug (in category 'headers generation') -----
- configHBuildDebug
- 	"convenience method to customize configH for this buildType. default is self configH
- 	^self configH"
- 	self subclassResponsibility
- !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configHBuildDebugITimerHeartbeat (in category 'headers generation') -----
- configHBuildDebugITimerHeartbeat
- 	"convenience method to customize configH for this buildType. default is self configH
- 	^self configH"
- 	self subclassResponsibility
- !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configHBuildITimerHeartbeat (in category 'headers generation') -----
- configHBuildITimerHeartbeat
- 	"convenience method to customize configH for this buildType. default is self configH
- 	^self configH"
- 	self subclassResponsibility
- !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configHBuildMultiThreaded (in category 'headers generation') -----
- configHBuildMultiThreaded
- 	"convenience method to customize configH for this buildType. default is self configH
- 	^self configH"
- 	self subclassResponsibility
- !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configHBuildMultiThreadedAssert (in category 'headers generation') -----
- configHBuildMultiThreadedAssert
- 	"convenience method to customize configH for this buildType. default is self configH
- 	^self configH"
- 	self subclassResponsibility
- !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configHBuildMultiThreadedDebug (in category 'headers generation') -----
- configHBuildMultiThreadedDebug
- 	"convenience method to customize configH for this buildType. default is self configH
- 	^self configH"
- 	self subclassResponsibility
- !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>configHNoBuildType (in category 'headers generation') -----
- configHNoBuildType
- 	"SHOULD NOT GET HERE"	
- 	self shouldNotImplement!

Item was changed:
+ ----- Method: CPlatformConfigForSqueak>>frameworks (in category 'cmake buildType redirects') -----
- ----- Method: CPlatformConfigForSqueak>>frameworks (in category 'accessing') -----
  frameworks
+ 	"Route this message send to the message appropriate for my buildType "
+ 	|d |
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	d 
+ 		at: #build put: [self frameworksBuild];
+ 		at: #buildAssert  put: [self frameworksBuildAssert];
+ 		at: #buildAssertITimerHeartbeat  put: [self frameworksBuildAssertITimerHeartbeat];
+             at:#buildDebug  put: [self frameworksBuildDebug];   
+ 		at: #buildDebugITimerHeartbeat  put: [self frameworksBuildDebugITimerHeartbeat ];
+ 		at: #buildITimerHeartbeat  put: [self frameworksBuildITimerHeartbeat];
+ 		at: #buildMultiThreaded  put: [self frameworksBuildMultiThreaded];
+ 		at: #buildMultiThreadedAssert  put: [self frameworksBuildMultiThreadedAssert];
+ 		at: #buildMultiThreadedDebug   put: [self frameworksBuildMultiThreadedDebug ];
+ 		at: #buildNone put:[self frameworksNoBuildType].
+ 	^(d at: buildType) value!
- 	self subclassResponsibility!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>frameworksBuild (in category 'cmake buildType redirects') -----
+ frameworksBuild
+ 	"^#()"
+ 	self subclassResponsibility!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>frameworksBuildAssert (in category 'cmake buildType redirects') -----
+ frameworksBuildAssert 
+ 	"convenience method to customize plugins for this build default to internalPluins
+ 	^self internalPlugins"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>frameworksBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildAssertITimerHeartbeat 
+ 	"convenience method to customize plugins for this build default to internalPluins
+ 	^self internalPlugins"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>frameworksBuildDebug (in category 'cmake buildType redirects') -----
+ frameworksBuildDebug 
+ 	"convenience method to customize plugins for this build.  default is self  internalPluins
+ 	^self internalPlugins"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>frameworksBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildDebugITimerHeartbeat 
+ 	"convenience method to customize plugins for this build.  default is self  internalPluins
+ 	^self internalPlugins"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>frameworksBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildITimerHeartbeat 
+ 	"convenience method to customize plugins for this build.  default is self  internalPluins
+ 	^self internalPlugins"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>frameworksBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreaded 
+ 	"convenience method to customize plugins for this build.  default is self  internalPluins
+ 	^self internalPlugins"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>frameworksBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreadedAssert
+ 	"convenience method to customize plugins for this build.  default is self  internalPluins
+ 	^self internalPlugins"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>frameworksBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreadedDebug 
+ 	"convenience method to customize plugins for this build.  default is self  internalPluins
+ 	^self internalPlugins"
+ 	self subclassResponsibility
+ !

Item was removed:
- ----- Method: Linux32ARMv6StackV3CrossRaspbianConfig>>configH (in category 'headers generation') -----
- configH
- 	self flag:'tty'. "This needs to be customized"
- 	^ '
- #ifndef __sq_config_h
- #define __sq_config_h
- 
- /* explicit image width */
- 
- #define	HAVE_INTERP_H 1
- 
- /* package options */
- 
- #define	USE_X11 1
- #define	USE_X11_GLX 1
- /* #undef	USE_QUARTZ */
- /* #undef	USE_QUARTZ_CGL */
- /* #undef	USE_RFB */
- 
- /* libraries */
- 
- /* #undef	HAVE_LIBX11 */
- /* #undef	HAVE_LIBXEXT */
- #define	HAVE_LIBDL 1
- /* #undef	HAVE_DYLD */
- /* #undef	HAVE_LIBFFI */
- /* #undef	HAVE_ICONV */
- 
- /* #undef	USE_AUDIO_NONE */
- /* #undef	USE_AUDIO_SUN */
- /* #undef	USE_AUDIO_NAS */
- /* #undef	USE_AUDIO_OSS */
- /* #undef	USE_AUDIO_MACOSX */
- /* #undef	OSS_DEVICE */
- 
- /* header files */
- 
- #define	HAVE_UNISTD_H 1
- /* #undef	NEED_GETHOSTNAME_P */
- 
- #define	HAVE_DIRENT_H 1
- /* #undef	HAVE_SYS_NDIR_H */
- /* #undef	HAVE_SYS_DIR_H */
- /* #undef	HAVE_NDIR_H */
- #define	HAVE_DLFCN_H 1
- #define	HAVE_ICONV_H 1
- 
- #define	HAVE_SYS_TIME_H 1
- #define	TIME_WITH_SYS_TIME 1
- 
- /* #undef	HAVE_SYS_FILIO_H */
- 
- /* #undef	HAVE_SYS_AUDIOIO_H */
- /* #undef	HAVE_SUN_AUDIOIO_H */
- 
- #define	HAVE_PTY_H 1
- /* #undef	HAVE_UTIL_H */
- /* #undef	HAVE_LIBUTIL_H */
- #define	HAVE_STROPTS_H 1
- 
- #define	HAVE_GL_GL_H 1
- /* #undef	HAVE_OPENGL_GL_H */
- 
- /* #undef	NEED_SUNOS_H */
- 
- /* system calls/library functions */
- 
- #define	AT_EXIT atexit
- 
- #define	HAVE_TZSET 1
- 
- #define	HAVE_OPENPTY 1
- /* #undef	HAVE_UNIX98_PTYS */
- 
- #define	HAVE_SNPRINTF 1
- /* #undef	HAVE___SNPRINTF */
- 
- #define	HAVE_MMAP 1
- 
- /* #undef	HAVE_DYLD */
- 
- #define	HAVE_LANGINFO_CODESET 1
- 
- #define	HAVE_ALLOCA 1
- #define	HAVE_ALLOCA_H 1
- 
- #define	HAVE_UNSETENV 1
- 
- #define	HAVE_NANOSLEEP 1
- 
- /* widths of primitive types */
- 
- #define	SIZEOF_INT 4
- #define	SIZEOF_LONG 4
- #define	SIZEOF_LONG_LONG 8
- #define	SIZEOF_VOID_P 4
- 
- /* structures */
- 
- #define	HAVE_TM_GMTOFF 1
- #define	HAVE_TIMEZONE 1
- 
- /* typedefs */
- 
- /* #undef	size_t */
- /* #undef	socklen_t */
- 
- #define	ENABLE_FAST_BLT 1
- #define	squeakInt64 long long
- 
- /* architecture */
- 
- #define	OS_TYPE "unix"
- #define __arm__ 1
- #define __ARM_ARCH_6__ 1
- #define	VM_HOST "arm-pc-linux-gnu"
- #define	VM_HOST_CPU "arm"
- /* #undef	VM_HOST_VENDOR */
- #define	VM_HOST_OS "linux-gnu"
- #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
- 
- /* #undef	WORDS_BIGENDIAN */
- /* #undef	DOUBLE_WORD_ALIGNMENT */
- 
- /* damage containment */
- 
- /* #undef	DARWIN */
- 
- #ifdef NEED_SUNOS_H
- # include "sunos.h"
- #endif
- 
- /* other configured variables */
- 
- #define SQ_VERSION "3.9a-7024"
- #define VM_VERSION "3.9-7"
- #define VM_MODULE_PREFIX ""
- /* #undef VM_DLSYM_PREFIX */
- #define VM_X11DIR ""
- 
- /* avoid dependencies on glibc2.3 */
- 
- #define HAVE_FEATURES_H 1
- 
- #if defined(HAVE_FEATURES_H)
- # include "glibc.h"
- #endif
- 
- 
- /* used by UUID plugin: */
- 
- #define HAVE_UUID_H 1
- 
- #endif /* __sq_config_h */
- 																																																																					
- 																																																																				'!

Item was added:
+ ----- Method: Linux32ARMv6StackV3CrossRaspbianConfig>>configHBuild (in category 'cmake buildType redirects') -----
+ configHBuild
+ 	self flag:'tty'. "This needs to be customized"
+ 	^ '
+ #ifndef __sq_config_h
+ #define __sq_config_h
+ 
+ /* explicit image width */
+ 
+ #define	HAVE_INTERP_H 1
+ 
+ /* package options */
+ 
+ #define	USE_X11 1
+ #define	USE_X11_GLX 1
+ /* #undef	USE_QUARTZ */
+ /* #undef	USE_QUARTZ_CGL */
+ /* #undef	USE_RFB */
+ 
+ /* libraries */
+ 
+ /* #undef	HAVE_LIBX11 */
+ /* #undef	HAVE_LIBXEXT */
+ #define	HAVE_LIBDL 1
+ /* #undef	HAVE_DYLD */
+ /* #undef	HAVE_LIBFFI */
+ /* #undef	HAVE_ICONV */
+ 
+ /* #undef	USE_AUDIO_NONE */
+ /* #undef	USE_AUDIO_SUN */
+ /* #undef	USE_AUDIO_NAS */
+ /* #undef	USE_AUDIO_OSS */
+ /* #undef	USE_AUDIO_MACOSX */
+ /* #undef	OSS_DEVICE */
+ 
+ /* header files */
+ 
+ #define	HAVE_UNISTD_H 1
+ /* #undef	NEED_GETHOSTNAME_P */
+ 
+ #define	HAVE_DIRENT_H 1
+ /* #undef	HAVE_SYS_NDIR_H */
+ /* #undef	HAVE_SYS_DIR_H */
+ /* #undef	HAVE_NDIR_H */
+ #define	HAVE_DLFCN_H 1
+ #define	HAVE_ICONV_H 1
+ 
+ #define	HAVE_SYS_TIME_H 1
+ #define	TIME_WITH_SYS_TIME 1
+ 
+ /* #undef	HAVE_SYS_FILIO_H */
+ 
+ /* #undef	HAVE_SYS_AUDIOIO_H */
+ /* #undef	HAVE_SUN_AUDIOIO_H */
+ 
+ #define	HAVE_PTY_H 1
+ /* #undef	HAVE_UTIL_H */
+ /* #undef	HAVE_LIBUTIL_H */
+ #define	HAVE_STROPTS_H 1
+ 
+ #define	HAVE_GL_GL_H 1
+ /* #undef	HAVE_OPENGL_GL_H */
+ 
+ /* #undef	NEED_SUNOS_H */
+ 
+ /* system calls/library functions */
+ 
+ #define	AT_EXIT atexit
+ 
+ #define	HAVE_TZSET 1
+ 
+ #define	HAVE_OPENPTY 1
+ /* #undef	HAVE_UNIX98_PTYS */
+ 
+ #define	HAVE_SNPRINTF 1
+ /* #undef	HAVE___SNPRINTF */
+ 
+ #define	HAVE_MMAP 1
+ 
+ /* #undef	HAVE_DYLD */
+ 
+ #define	HAVE_LANGINFO_CODESET 1
+ 
+ #define	HAVE_ALLOCA 1
+ #define	HAVE_ALLOCA_H 1
+ 
+ #define	HAVE_UNSETENV 1
+ 
+ #define	HAVE_NANOSLEEP 1
+ 
+ /* widths of primitive types */
+ 
+ #define	SIZEOF_INT 4
+ #define	SIZEOF_LONG 4
+ #define	SIZEOF_LONG_LONG 8
+ #define	SIZEOF_VOID_P 4
+ 
+ /* structures */
+ 
+ #define	HAVE_TM_GMTOFF 1
+ #define	HAVE_TIMEZONE 1
+ 
+ /* typedefs */
+ 
+ /* #undef	size_t */
+ /* #undef	socklen_t */
+ 
+ #define	ENABLE_FAST_BLT 1
+ #define	squeakInt64 long long
+ 
+ /* architecture */
+ 
+ #define	OS_TYPE "unix"
+ #define __arm__ 1
+ #define __ARM_ARCH_6__ 1
+ #define	VM_HOST "arm-pc-linux-gnu"
+ #define	VM_HOST_CPU "arm"
+ /* #undef	VM_HOST_VENDOR */
+ #define	VM_HOST_OS "linux-gnu"
+ #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
+ 
+ /* #undef	WORDS_BIGENDIAN */
+ /* #undef	DOUBLE_WORD_ALIGNMENT */
+ 
+ /* damage containment */
+ 
+ /* #undef	DARWIN */
+ 
+ #ifdef NEED_SUNOS_H
+ # include "sunos.h"
+ #endif
+ 
+ /* other configured variables */
+ 
+ #define SQ_VERSION "3.9a-7024"
+ #define VM_VERSION "3.9-7"
+ #define VM_MODULE_PREFIX ""
+ /* #undef VM_DLSYM_PREFIX */
+ #define VM_X11DIR ""
+ 
+ /* avoid dependencies on glibc2.3 */
+ 
+ #define HAVE_FEATURES_H 1
+ 
+ #if defined(HAVE_FEATURES_H)
+ # include "glibc.h"
+ #endif
+ 
+ 
+ /* used by UUID plugin: */
+ 
+ #define HAVE_UUID_H 1
+ 
+ #endif /* __sq_config_h */
+ 																																																																					
+ 																																																																				'!

Item was removed:
- ----- Method: Linux32ARMv6StackV3RaspbianConfig>>configH (in category 'headers generation') -----
- configH
- 	self flag:'tty'. "This needs to be customized"
- 	^ '
- #ifndef __sq_config_h
- #define __sq_config_h
- 
- /* explicit image width */
- 
- #define	HAVE_INTERP_H 1
- 
- /* package options */
- 
- #define	USE_X11 1
- #define	USE_X11_GLX 1
- /* #undef	USE_QUARTZ */
- /* #undef	USE_QUARTZ_CGL */
- /* #undef	USE_RFB */
- 
- /* libraries */
- 
- /* #undef	HAVE_LIBX11 */
- /* #undef	HAVE_LIBXEXT */
- #define	HAVE_LIBDL 1
- /* #undef	HAVE_DYLD */
- /* #undef	HAVE_LIBFFI */
- /* #undef	HAVE_ICONV */
- 
- /* #undef	USE_AUDIO_NONE */
- /* #undef	USE_AUDIO_SUN */
- /* #undef	USE_AUDIO_NAS */
- /* #undef	USE_AUDIO_OSS */
- /* #undef	USE_AUDIO_MACOSX */
- /* #undef	OSS_DEVICE */
- 
- /* header files */
- 
- #define	HAVE_UNISTD_H 1
- /* #undef	NEED_GETHOSTNAME_P */
- 
- #define	HAVE_DIRENT_H 1
- /* #undef	HAVE_SYS_NDIR_H */
- /* #undef	HAVE_SYS_DIR_H */
- /* #undef	HAVE_NDIR_H */
- #define	HAVE_DLFCN_H 1
- #define	HAVE_ICONV_H 1
- 
- #define	HAVE_SYS_TIME_H 1
- #define	TIME_WITH_SYS_TIME 1
- 
- /* #undef	HAVE_SYS_FILIO_H */
- 
- /* #undef	HAVE_SYS_AUDIOIO_H */
- /* #undef	HAVE_SUN_AUDIOIO_H */
- 
- #define	HAVE_PTY_H 1
- /* #undef	HAVE_UTIL_H */
- /* #undef	HAVE_LIBUTIL_H */
- #define	HAVE_STROPTS_H 1
- 
- #define	HAVE_GL_GL_H 1
- /* #undef	HAVE_OPENGL_GL_H */
- 
- /* #undef	NEED_SUNOS_H */
- 
- /* system calls/library functions */
- 
- #define	AT_EXIT atexit
- 
- #define	HAVE_TZSET 1
- 
- #define	HAVE_OPENPTY 1
- /* #undef	HAVE_UNIX98_PTYS */
- 
- #define	HAVE_SNPRINTF 1
- /* #undef	HAVE___SNPRINTF */
- 
- #define	HAVE_MMAP 1
- 
- /* #undef	HAVE_DYLD */
- 
- #define	HAVE_LANGINFO_CODESET 1
- 
- #define	HAVE_ALLOCA 1
- #define	HAVE_ALLOCA_H 1
- 
- #define	HAVE_UNSETENV 1
- 
- #define	HAVE_NANOSLEEP 1
- 
- /* widths of primitive types */
- 
- #define	SIZEOF_INT 4
- #define	SIZEOF_LONG 4
- #define	SIZEOF_LONG_LONG 8
- #define	SIZEOF_VOID_P 4
- 
- /* structures */
- 
- #define	HAVE_TM_GMTOFF 1
- #define	HAVE_TIMEZONE 1
- 
- /* typedefs */
- 
- /* #undef	size_t */
- /* #undef	socklen_t */
- 
- #define	ENABLE_FAST_BLT 1
- #define	squeakInt64 long long
- 
- /* architecture */
- 
- #define	OS_TYPE "unix"
- #define __arm__ 1
- #define __ARM_ARCH_6__ 1
- #define	VM_HOST "arm-pc-linux-gnu"
- #define	VM_HOST_CPU "arm"
- /* #undef	VM_HOST_VENDOR */
- #define	VM_HOST_OS "linux-gnu"
- #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
- 
- /* #undef	WORDS_BIGENDIAN */
- /* #undef	DOUBLE_WORD_ALIGNMENT */
- 
- /* damage containment */
- 
- /* #undef	DARWIN */
- 
- #ifdef NEED_SUNOS_H
- # include "sunos.h"
- #endif
- 
- /* other configured variables */
- 
- #define SQ_VERSION "3.9a-7024"
- #define VM_VERSION "3.9-7"
- #define VM_MODULE_PREFIX ""
- /* #undef VM_DLSYM_PREFIX */
- #define VM_X11DIR ""
- 
- /* avoid dependencies on glibc2.3 */
- 
- #define HAVE_FEATURES_H 1
- 
- #if defined(HAVE_FEATURES_H)
- # include "glibc.h"
- #endif
- 
- 
- /* used by UUID plugin: */
- 
- #define HAVE_UUID_H 1
- 
- #endif /* __sq_config_h */
- 																																																																					
- 																																																																				'!

Item was added:
+ ----- Method: Linux32x86Config>>cFlagsBuildDebug (in category 'cmake buildType redirects') -----
+ cFlagsBuildDebug
+ 	^ self configHBuild!

Item was removed:
- ----- Method: Linux32x86Config>>configH (in category 'headers generation') -----
- configH
- 	self flag:'tty'. "This needs to be customized"
- 	^ '
- #ifndef __sq_config_h
- #define __sq_config_h
- 
- /* explicit image width */
- 
- #define	HAVE_INTERP_H 1
- 
- /* package options */
- 
- #define	USE_X11 1
- #define	USE_X11_GLX 1
- /* #undef	USE_QUARTZ */
- /* #undef	USE_QUARTZ_CGL */
- /* #undef	USE_RFB */
- 
- /* libraries */
- 
- /* #undef	HAVE_LIBX11 */
- /* #undef	HAVE_LIBXEXT */
- #define	HAVE_LIBDL 1
- /* #undef	HAVE_DYLD */
- /* #undef	HAVE_LIBFFI */
- /* #undef	HAVE_ICONV */
- 
- /* #undef	USE_AUDIO_NONE */
- /* #undef	USE_AUDIO_SUN */
- /* #undef	USE_AUDIO_NAS */
- /* #undef	USE_AUDIO_OSS */
- /* #undef	USE_AUDIO_MACOSX */
- /* #undef	OSS_DEVICE */
- 
- /* header files */
- 
- #define	HAVE_UNISTD_H 1
- /* #undef	NEED_GETHOSTNAME_P */
- 
- #define	HAVE_DIRENT_H 1
- /* #undef	HAVE_SYS_NDIR_H */
- /* #undef	HAVE_SYS_DIR_H */
- /* #undef	HAVE_NDIR_H */
- #define	HAVE_DLFCN_H 1
- #define	HAVE_ICONV_H 1
- 
- #define	HAVE_SYS_TIME_H 1
- #define	TIME_WITH_SYS_TIME 1
- 
- /* #undef	HAVE_SYS_FILIO_H */
- 
- /* #undef	HAVE_SYS_AUDIOIO_H */
- /* #undef	HAVE_SUN_AUDIOIO_H */
- 
- #define	HAVE_PTY_H 1
- /* #undef	HAVE_UTIL_H */
- /* #undef	HAVE_LIBUTIL_H */
- #define	HAVE_STROPTS_H 1
- 
- #define	HAVE_GL_GL_H 1
- /* #undef	HAVE_OPENGL_GL_H */
- 
- /* #undef	NEED_SUNOS_H */
- 
- /* system calls/library functions */
- 
- #define	AT_EXIT atexit
- 
- #define	HAVE_TZSET 1
- 
- #define	HAVE_OPENPTY 1
- /* #undef	HAVE_UNIX98_PTYS */
- 
- #define	HAVE_SNPRINTF 1
- /* #undef	HAVE___SNPRINTF */
- 
- #define	HAVE_MMAP 1
- 
- /* #undef	HAVE_DYLD */
- 
- #define	HAVE_LANGINFO_CODESET 1
- 
- #define	HAVE_ALLOCA 1
- #define	HAVE_ALLOCA_H 1
- 
- #define	HAVE_UNSETENV 1
- 
- #define	HAVE_NANOSLEEP 1
- 
- /* widths of primitive types */
- 
- #define	SIZEOF_INT 4
- #define	SIZEOF_LONG 4
- #define	SIZEOF_LONG_LONG 8
- #define	SIZEOF_VOID_P 4
- 
- /* structures */
- 
- #define	HAVE_TM_GMTOFF 1
- #define	HAVE_TIMEZONE 1
- 
- /* typedefs */
- 
- /* #undef	size_t */
- /* #undef	socklen_t */
- 
- #define	ENABLE_FAST_BLT 1
- #define	squeakInt64 long long
- 
- /* architecture */
- 
- #define	OS_TYPE "unix"
- #define __arm__ 1
- #define __ARM_ARCH_6__ 1
- #define	VM_HOST "arm-pc-linux-gnu"
- #define	VM_HOST_CPU "arm"
- /* #undef	VM_HOST_VENDOR */
- #define	VM_HOST_OS "linux-gnu"
- #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
- 
- /* #undef	WORDS_BIGENDIAN */
- /* #undef	DOUBLE_WORD_ALIGNMENT */
- 
- /* damage containment */
- 
- /* #undef	DARWIN */
- 
- #ifdef NEED_SUNOS_H
- # include "sunos.h"
- #endif
- 
- /* other configured variables */
- 
- #define SQ_VERSION "3.9a-7024"
- #define VM_VERSION "3.9-7"
- #define VM_MODULE_PREFIX ""
- /* #undef VM_DLSYM_PREFIX */
- #define VM_X11DIR ""
- 
- /* avoid dependencies on glibc2.3 */
- 
- #define HAVE_FEATURES_H 1
- 
- #if defined(HAVE_FEATURES_H)
- # include "glibc.h"
- #endif
- 
- 
- /* used by UUID plugin: */
- 
- #define HAVE_UUID_H 1
- 
- #endif /* __sq_config_h */
- 																																																																					
- 																																																																				'!

Item was added:
+ ----- Method: Linux32x86Config>>configHBuild (in category 'cmake buildType redirects') -----
+ configHBuild
+ 	self flag:'tty'. "This needs to be customized"
+ 	^ '
+ #ifndef __sq_config_h
+ #define __sq_config_h
+ 
+ /* explicit image width */
+ 
+ #define	HAVE_INTERP_H 1
+ 
+ /* package options */
+ 
+ #define	USE_X11 1
+ #define	USE_X11_GLX 1
+ /* #undef	USE_QUARTZ */
+ /* #undef	USE_QUARTZ_CGL */
+ /* #undef	USE_RFB */
+ 
+ /* libraries */
+ 
+ /* #undef	HAVE_LIBX11 */
+ /* #undef	HAVE_LIBXEXT */
+ #define	HAVE_LIBDL 1
+ /* #undef	HAVE_DYLD */
+ /* #undef	HAVE_LIBFFI */
+ /* #undef	HAVE_ICONV */
+ 
+ /* #undef	USE_AUDIO_NONE */
+ /* #undef	USE_AUDIO_SUN */
+ /* #undef	USE_AUDIO_NAS */
+ /* #undef	USE_AUDIO_OSS */
+ /* #undef	USE_AUDIO_MACOSX */
+ /* #undef	OSS_DEVICE */
+ 
+ /* header files */
+ 
+ #define	HAVE_UNISTD_H 1
+ /* #undef	NEED_GETHOSTNAME_P */
+ 
+ #define	HAVE_DIRENT_H 1
+ /* #undef	HAVE_SYS_NDIR_H */
+ /* #undef	HAVE_SYS_DIR_H */
+ /* #undef	HAVE_NDIR_H */
+ #define	HAVE_DLFCN_H 1
+ #define	HAVE_ICONV_H 1
+ 
+ #define	HAVE_SYS_TIME_H 1
+ #define	TIME_WITH_SYS_TIME 1
+ 
+ /* #undef	HAVE_SYS_FILIO_H */
+ 
+ /* #undef	HAVE_SYS_AUDIOIO_H */
+ /* #undef	HAVE_SUN_AUDIOIO_H */
+ 
+ #define	HAVE_PTY_H 1
+ /* #undef	HAVE_UTIL_H */
+ /* #undef	HAVE_LIBUTIL_H */
+ #define	HAVE_STROPTS_H 1
+ 
+ #define	HAVE_GL_GL_H 1
+ /* #undef	HAVE_OPENGL_GL_H */
+ 
+ /* #undef	NEED_SUNOS_H */
+ 
+ /* system calls/library functions */
+ 
+ #define	AT_EXIT atexit
+ 
+ #define	HAVE_TZSET 1
+ 
+ #define	HAVE_OPENPTY 1
+ /* #undef	HAVE_UNIX98_PTYS */
+ 
+ #define	HAVE_SNPRINTF 1
+ /* #undef	HAVE___SNPRINTF */
+ 
+ #define	HAVE_MMAP 1
+ 
+ /* #undef	HAVE_DYLD */
+ 
+ #define	HAVE_LANGINFO_CODESET 1
+ 
+ #define	HAVE_ALLOCA 1
+ #define	HAVE_ALLOCA_H 1
+ 
+ #define	HAVE_UNSETENV 1
+ 
+ #define	HAVE_NANOSLEEP 1
+ 
+ /* widths of primitive types */
+ 
+ #define	SIZEOF_INT 4
+ #define	SIZEOF_LONG 4
+ #define	SIZEOF_LONG_LONG 8
+ #define	SIZEOF_VOID_P 4
+ 
+ /* structures */
+ 
+ #define	HAVE_TM_GMTOFF 1
+ #define	HAVE_TIMEZONE 1
+ 
+ /* typedefs */
+ 
+ /* #undef	size_t */
+ /* #undef	socklen_t */
+ 
+ #define	ENABLE_FAST_BLT 1
+ #define	squeakInt64 long long
+ 
+ /* architecture */
+ 
+ #define	OS_TYPE "unix"
+ #define __arm__ 1
+ #define __ARM_ARCH_6__ 1
+ #define	VM_HOST "arm-pc-linux-gnu"
+ #define	VM_HOST_CPU "arm"
+ /* #undef	VM_HOST_VENDOR */
+ #define	VM_HOST_OS "linux-gnu"
+ #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
+ 
+ /* #undef	WORDS_BIGENDIAN */
+ /* #undef	DOUBLE_WORD_ALIGNMENT */
+ 
+ /* damage containment */
+ 
+ /* #undef	DARWIN */
+ 
+ #ifdef NEED_SUNOS_H
+ # include "sunos.h"
+ #endif
+ 
+ /* other configured variables */
+ 
+ #define SQ_VERSION "3.9a-7024"
+ #define VM_VERSION "3.9-7"
+ #define VM_MODULE_PREFIX ""
+ /* #undef VM_DLSYM_PREFIX */
+ #define VM_X11DIR ""
+ 
+ /* avoid dependencies on glibc2.3 */
+ 
+ #define HAVE_FEATURES_H 1
+ 
+ #if defined(HAVE_FEATURES_H)
+ # include "glibc.h"
+ #endif
+ 
+ 
+ /* used by UUID plugin: */
+ 
+ #define HAVE_UUID_H 1
+ 
+ #endif /* __sq_config_h */
+ 																																																																					
+ 																																																																				'!

Item was added:
+ ----- Method: Linux32x86Config>>configHBuildAssert (in category 'cmake buildType redirects') -----
+ configHBuildAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux32x86Config>>configHBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildAssertITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux32x86Config>>configHBuildDebug (in category 'cmake buildType redirects') -----
+ configHBuildDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux32x86Config>>configHBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildDebugITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux32x86Config>>configHBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux32x86Config>>configHBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreaded
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux32x86Config>>configHBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux32x86Config>>configHBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedDebug
+ 	^ self configHBuild!

Item was removed:
- ----- Method: Linux32x86Config>>extraVMSettings: (in category 'settings') -----
- extraVMSettings: maker
- 	| versionC |
- 	self generateConfigH.
- 	
- 	"add a generated version.c"
- 	
- 	versionC := 'version.c'.
- 	
- 	maker cmd: 'add_custom_command' params: 'OUTPUT ',
- 		versionC , '
- 		COMMAND ${platformsDir}/unix/config/verstamp ',versionC,' gcc
- 		COMMENT "Generating version.c"
- 	'.
- 	
- 	!

Item was added:
+ ----- Method: Linux32x86Config>>extraVMSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuild: aMaker
+ 	| versionC |
+ 	self generateConfigH.
+ 	
+ 	"add a generated version.c"
+ 	
+ 	versionC := 'version.c'.
+ 	
+ 	aMaker cmd: 'add_custom_command' params: 'OUTPUT ',
+ 		versionC , '
+ 		COMMAND ${platformsDir}/unix/config/verstamp ',versionC,' gcc
+ 		COMMENT "Generating version.c"
+ 	'.
+ 	
+ 	!

Item was added:
+ ----- Method: Linux32x86Config>>extraVMSettingsBuildAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux32x86Config>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux32x86Config>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux32x86Config>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux32x86Config>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux32x86Config>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux32x86Config>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux32x86Config>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was changed:
  ----- Method: Linux32x86SqueakCogV3Config>>cFlagsBuildDebug (in category 'cmake buildType redirects') -----
  cFlagsBuildDebug
+ 	^'-g3 -O0 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=1'!
- 	^'-g3 -O0  -DDEBUGVM=1 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0'!

Item was removed:
- ----- Method: Linux64Config>>configH (in category 'headers generation') -----
- configH
- 	self flag:'tty'. "This needs to be customized"
- 	^ '
- #ifndef __sq_config_h
- #define __sq_config_h
- 
- /* explicit image width */
- 
- #define	HAVE_INTERP_H 1
- 
- /* package options */
- 
- #define	USE_X11 1
- #define	USE_X11_GLX 1
- /* #undef	USE_QUARTZ */
- /* #undef	USE_QUARTZ_CGL */
- /* #undef	USE_RFB */
- 
- /* libraries */
- 
- /* #undef	HAVE_LIBX11 */
- /* #undef	HAVE_LIBXEXT */
- #define	HAVE_LIBDL 1
- /* #undef	HAVE_DYLD */
- /* #undef	HAVE_LIBFFI */
- /* #undef	HAVE_ICONV */
- 
- /* #undef	USE_AUDIO_NONE */
- /* #undef	USE_AUDIO_SUN */
- /* #undef	USE_AUDIO_NAS */
- /* #undef	USE_AUDIO_OSS */
- /* #undef	USE_AUDIO_MACOSX */
- /* #undef	OSS_DEVICE */
- 
- /* header files */
- 
- #define	HAVE_UNISTD_H 1
- /* #undef	NEED_GETHOSTNAME_P */
- 
- #define	HAVE_DIRENT_H 1
- /* #undef	HAVE_SYS_NDIR_H */
- /* #undef	HAVE_SYS_DIR_H */
- /* #undef	HAVE_NDIR_H */
- #define	HAVE_DLFCN_H 1
- #define	HAVE_ICONV_H 1
- 
- #define	HAVE_SYS_TIME_H 1
- #define	TIME_WITH_SYS_TIME 1
- 
- /* #undef	HAVE_SYS_FILIO_H */
- 
- /* #undef	HAVE_SYS_AUDIOIO_H */
- /* #undef	HAVE_SUN_AUDIOIO_H */
- 
- #define	HAVE_PTY_H 1
- /* #undef	HAVE_UTIL_H */
- /* #undef	HAVE_LIBUTIL_H */
- #define	HAVE_STROPTS_H 1
- 
- #define	HAVE_GL_GL_H 1
- /* #undef	HAVE_OPENGL_GL_H */
- 
- /* #undef	NEED_SUNOS_H */
- 
- /* system calls/library functions */
- 
- #define	AT_EXIT atexit
- 
- #define	HAVE_TZSET 1
- 
- #define	HAVE_OPENPTY 1
- /* #undef	HAVE_UNIX98_PTYS */
- 
- #define	HAVE_SNPRINTF 1
- /* #undef	HAVE___SNPRINTF */
- 
- #define	HAVE_MMAP 1
- 
- /* #undef	HAVE_DYLD */
- 
- #define	HAVE_LANGINFO_CODESET 1
- 
- #define	HAVE_ALLOCA 1
- #define	HAVE_ALLOCA_H 1
- 
- #define	HAVE_UNSETENV 1
- 
- #define	HAVE_NANOSLEEP 1
- 
- /* widths of primitive types */
- 
- #define	SIZEOF_INT 4
- #define	SIZEOF_LONG 4
- #define	SIZEOF_LONG_LONG 8
- #define	SIZEOF_VOID_P 4
- 
- /* structures */
- 
- #define	HAVE_TM_GMTOFF 1
- #define	HAVE_TIMEZONE 1
- 
- /* typedefs */
- 
- /* #undef	size_t */
- /* #undef	socklen_t */
- 
- #define	ENABLE_FAST_BLT 1
- #define	squeakInt64 long long
- 
- /* architecture */
- 
- #define	OS_TYPE "unix"
- #define __arm__ 1
- #define __ARM_ARCH_6__ 1
- #define	VM_HOST "arm-pc-linux-gnu"
- #define	VM_HOST_CPU "arm"
- /* #undef	VM_HOST_VENDOR */
- #define	VM_HOST_OS "linux-gnu"
- #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
- 
- /* #undef	WORDS_BIGENDIAN */
- /* #undef	DOUBLE_WORD_ALIGNMENT */
- 
- /* damage containment */
- 
- /* #undef	DARWIN */
- 
- #ifdef NEED_SUNOS_H
- # include "sunos.h"
- #endif
- 
- /* other configured variables */
- 
- #define SQ_VERSION "3.9a-7024"
- #define VM_VERSION "3.9-7"
- #define VM_MODULE_PREFIX ""
- /* #undef VM_DLSYM_PREFIX */
- #define VM_X11DIR ""
- 
- /* avoid dependencies on glibc2.3 */
- 
- #define HAVE_FEATURES_H 1
- 
- #if defined(HAVE_FEATURES_H)
- # include "glibc.h"
- #endif
- 
- 
- /* used by UUID plugin: */
- 
- #define HAVE_UUID_H 1
- 
- #endif /* __sq_config_h */
- 																																																																					
- 																																																																				'!

Item was added:
+ ----- Method: Linux64Config>>configHBuild (in category 'as yet unclassified') -----
+ configHBuild
+ 	self flag:'tty'. "This needs to be customized"
+ 	^ '
+ #ifndef __sq_config_h
+ #define __sq_config_h
+ 
+ /* explicit image width */
+ 
+ #define	HAVE_INTERP_H 1
+ 
+ /* package options */
+ 
+ #define	USE_X11 1
+ #define	USE_X11_GLX 1
+ /* #undef	USE_QUARTZ */
+ /* #undef	USE_QUARTZ_CGL */
+ /* #undef	USE_RFB */
+ 
+ /* libraries */
+ 
+ /* #undef	HAVE_LIBX11 */
+ /* #undef	HAVE_LIBXEXT */
+ #define	HAVE_LIBDL 1
+ /* #undef	HAVE_DYLD */
+ /* #undef	HAVE_LIBFFI */
+ /* #undef	HAVE_ICONV */
+ 
+ /* #undef	USE_AUDIO_NONE */
+ /* #undef	USE_AUDIO_SUN */
+ /* #undef	USE_AUDIO_NAS */
+ /* #undef	USE_AUDIO_OSS */
+ /* #undef	USE_AUDIO_MACOSX */
+ /* #undef	OSS_DEVICE */
+ 
+ /* header files */
+ 
+ #define	HAVE_UNISTD_H 1
+ /* #undef	NEED_GETHOSTNAME_P */
+ 
+ #define	HAVE_DIRENT_H 1
+ /* #undef	HAVE_SYS_NDIR_H */
+ /* #undef	HAVE_SYS_DIR_H */
+ /* #undef	HAVE_NDIR_H */
+ #define	HAVE_DLFCN_H 1
+ #define	HAVE_ICONV_H 1
+ 
+ #define	HAVE_SYS_TIME_H 1
+ #define	TIME_WITH_SYS_TIME 1
+ 
+ /* #undef	HAVE_SYS_FILIO_H */
+ 
+ /* #undef	HAVE_SYS_AUDIOIO_H */
+ /* #undef	HAVE_SUN_AUDIOIO_H */
+ 
+ #define	HAVE_PTY_H 1
+ /* #undef	HAVE_UTIL_H */
+ /* #undef	HAVE_LIBUTIL_H */
+ #define	HAVE_STROPTS_H 1
+ 
+ #define	HAVE_GL_GL_H 1
+ /* #undef	HAVE_OPENGL_GL_H */
+ 
+ /* #undef	NEED_SUNOS_H */
+ 
+ /* system calls/library functions */
+ 
+ #define	AT_EXIT atexit
+ 
+ #define	HAVE_TZSET 1
+ 
+ #define	HAVE_OPENPTY 1
+ /* #undef	HAVE_UNIX98_PTYS */
+ 
+ #define	HAVE_SNPRINTF 1
+ /* #undef	HAVE___SNPRINTF */
+ 
+ #define	HAVE_MMAP 1
+ 
+ /* #undef	HAVE_DYLD */
+ 
+ #define	HAVE_LANGINFO_CODESET 1
+ 
+ #define	HAVE_ALLOCA 1
+ #define	HAVE_ALLOCA_H 1
+ 
+ #define	HAVE_UNSETENV 1
+ 
+ #define	HAVE_NANOSLEEP 1
+ 
+ /* widths of primitive types */
+ 
+ #define	SIZEOF_INT 4
+ #define	SIZEOF_LONG 4
+ #define	SIZEOF_LONG_LONG 8
+ #define	SIZEOF_VOID_P 4
+ 
+ /* structures */
+ 
+ #define	HAVE_TM_GMTOFF 1
+ #define	HAVE_TIMEZONE 1
+ 
+ /* typedefs */
+ 
+ /* #undef	size_t */
+ /* #undef	socklen_t */
+ 
+ #define	ENABLE_FAST_BLT 1
+ #define	squeakInt64 long long
+ 
+ /* architecture */
+ 
+ #define	OS_TYPE "unix"
+ #define __arm__ 1
+ #define __ARM_ARCH_6__ 1
+ #define	VM_HOST "arm-pc-linux-gnu"
+ #define	VM_HOST_CPU "arm"
+ /* #undef	VM_HOST_VENDOR */
+ #define	VM_HOST_OS "linux-gnu"
+ #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
+ 
+ /* #undef	WORDS_BIGENDIAN */
+ /* #undef	DOUBLE_WORD_ALIGNMENT */
+ 
+ /* damage containment */
+ 
+ /* #undef	DARWIN */
+ 
+ #ifdef NEED_SUNOS_H
+ # include "sunos.h"
+ #endif
+ 
+ /* other configured variables */
+ 
+ #define SQ_VERSION "3.9a-7024"
+ #define VM_VERSION "3.9-7"
+ #define VM_MODULE_PREFIX ""
+ /* #undef VM_DLSYM_PREFIX */
+ #define VM_X11DIR ""
+ 
+ /* avoid dependencies on glibc2.3 */
+ 
+ #define HAVE_FEATURES_H 1
+ 
+ #if defined(HAVE_FEATURES_H)
+ # include "glibc.h"
+ #endif
+ 
+ 
+ /* used by UUID plugin: */
+ 
+ #define HAVE_UUID_H 1
+ 
+ #endif /* __sq_config_h */
+ 																																																																					
+ 																																																																				'!

Item was added:
+ ----- Method: Linux64Config>>configHBuildAssert (in category 'as yet unclassified') -----
+ configHBuildAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64Config>>configHBuildAssertITimerHeartbeat (in category 'as yet unclassified') -----
+ configHBuildAssertITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64Config>>configHBuildDebug (in category 'as yet unclassified') -----
+ configHBuildDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64Config>>configHBuildDebugITimerHeartbeat (in category 'as yet unclassified') -----
+ configHBuildDebugITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64Config>>configHBuildITimerHeartbeat (in category 'as yet unclassified') -----
+ configHBuildITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64Config>>configHBuildMultiThreaded (in category 'as yet unclassified') -----
+ configHBuildMultiThreaded
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64Config>>configHBuildMultiThreadedAssert (in category 'as yet unclassified') -----
+ configHBuildMultiThreadedAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64Config>>configHBuildMultiThreadedDebug (in category 'as yet unclassified') -----
+ configHBuildMultiThreadedDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64Config>>extraVMSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuild: aMaker
+ 	"SystemNavigation default browseMethodsWhoseNamesContain: 'extraVMSettingsBuild:'"!

Item was added:
+ ----- Method: Linux64Config>>extraVMSettingsBuildAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64Config>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64Config>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64Config>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64Config>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64Config>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64Config>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64Config>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was removed:
- ----- Method: Linux64x86w32BitConfig>>configH (in category 'headers generation') -----
- configH
- 	self flag:'tty'. "This needs to be customized"
- 	^ '
- #ifndef __sq_config_h
- #define __sq_config_h
- 
- /* explicit image width */
- 
- #define	HAVE_INTERP_H 1
- 
- /* package options */
- 
- #define	USE_X11 1
- #define	USE_X11_GLX 1
- /* #undef	USE_QUARTZ */
- /* #undef	USE_QUARTZ_CGL */
- /* #undef	USE_RFB */
- 
- /* libraries */
- 
- /* #undef	HAVE_LIBX11 */
- /* #undef	HAVE_LIBXEXT */
- #define	HAVE_LIBDL 1
- /* #undef	HAVE_DYLD */
- /* #undef	HAVE_LIBFFI */
- /* #undef	HAVE_ICONV */
- 
- /* #undef	USE_AUDIO_NONE */
- /* #undef	USE_AUDIO_SUN */
- /* #undef	USE_AUDIO_NAS */
- /* #undef	USE_AUDIO_OSS */
- /* #undef	USE_AUDIO_MACOSX */
- /* #undef	OSS_DEVICE */
- 
- /* header files */
- 
- #define	HAVE_UNISTD_H 1
- /* #undef	NEED_GETHOSTNAME_P */
- 
- #define	HAVE_DIRENT_H 1
- /* #undef	HAVE_SYS_NDIR_H */
- /* #undef	HAVE_SYS_DIR_H */
- /* #undef	HAVE_NDIR_H */
- #define	HAVE_DLFCN_H 1
- #define	HAVE_ICONV_H 1
- 
- #define	HAVE_SYS_TIME_H 1
- #define	TIME_WITH_SYS_TIME 1
- 
- /* #undef	HAVE_SYS_FILIO_H */
- 
- /* #undef	HAVE_SYS_AUDIOIO_H */
- /* #undef	HAVE_SUN_AUDIOIO_H */
- 
- #define	HAVE_PTY_H 1
- /* #undef	HAVE_UTIL_H */
- /* #undef	HAVE_LIBUTIL_H */
- #define	HAVE_STROPTS_H 1
- 
- #define	HAVE_GL_GL_H 1
- /* #undef	HAVE_OPENGL_GL_H */
- 
- /* #undef	NEED_SUNOS_H */
- 
- /* system calls/library functions */
- 
- #define	AT_EXIT atexit
- 
- #define	HAVE_TZSET 1
- 
- #define	HAVE_OPENPTY 1
- /* #undef	HAVE_UNIX98_PTYS */
- 
- #define	HAVE_SNPRINTF 1
- /* #undef	HAVE___SNPRINTF */
- 
- #define	HAVE_MMAP 1
- 
- /* #undef	HAVE_DYLD */
- 
- #define	HAVE_LANGINFO_CODESET 1
- 
- #define	HAVE_ALLOCA 1
- #define	HAVE_ALLOCA_H 1
- 
- #define	HAVE_UNSETENV 1
- 
- #define	HAVE_NANOSLEEP 1
- 
- /* widths of primitive types */
- 
- #define	SIZEOF_INT 4
- #define	SIZEOF_LONG 4
- #define	SIZEOF_LONG_LONG 8
- #define	SIZEOF_VOID_P 4
- 
- /* structures */
- 
- #define	HAVE_TM_GMTOFF 1
- #define	HAVE_TIMEZONE 1
- 
- /* typedefs */
- 
- /* #undef	size_t */
- /* #undef	socklen_t */
- 
- #define	ENABLE_FAST_BLT 1
- #define	squeakInt64 long long
- 
- /* architecture */
- 
- #define	OS_TYPE "unix"
- #define __arm__ 1
- #define __ARM_ARCH_6__ 1
- #define	VM_HOST "arm-pc-linux-gnu"
- #define	VM_HOST_CPU "arm"
- /* #undef	VM_HOST_VENDOR */
- #define	VM_HOST_OS "linux-gnu"
- #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
- 
- /* #undef	WORDS_BIGENDIAN */
- /* #undef	DOUBLE_WORD_ALIGNMENT */
- 
- /* damage containment */
- 
- /* #undef	DARWIN */
- 
- #ifdef NEED_SUNOS_H
- # include "sunos.h"
- #endif
- 
- /* other configured variables */
- 
- #define SQ_VERSION "3.9a-7024"
- #define VM_VERSION "3.9-7"
- #define VM_MODULE_PREFIX ""
- /* #undef VM_DLSYM_PREFIX */
- #define VM_X11DIR ""
- 
- /* avoid dependencies on glibc2.3 */
- 
- #define HAVE_FEATURES_H 1
- 
- #if defined(HAVE_FEATURES_H)
- # include "glibc.h"
- #endif
- 
- 
- /* used by UUID plugin: */
- 
- #define HAVE_UUID_H 1
- 
- #endif /* __sq_config_h */
- 																																																																					
- 																																																																				'!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>configHBuild (in category 'cmake buildType redirects') -----
+ configHBuild
+ 	self flag:'tty'. "This needs to be customized"
+ 	^ '
+ #ifndef __sq_config_h
+ #define __sq_config_h
+ 
+ /* explicit image width */
+ 
+ #define	HAVE_INTERP_H 1
+ 
+ /* package options */
+ 
+ #define	USE_X11 1
+ #define	USE_X11_GLX 1
+ /* #undef	USE_QUARTZ */
+ /* #undef	USE_QUARTZ_CGL */
+ /* #undef	USE_RFB */
+ 
+ /* libraries */
+ 
+ /* #undef	HAVE_LIBX11 */
+ /* #undef	HAVE_LIBXEXT */
+ #define	HAVE_LIBDL 1
+ /* #undef	HAVE_DYLD */
+ /* #undef	HAVE_LIBFFI */
+ /* #undef	HAVE_ICONV */
+ 
+ /* #undef	USE_AUDIO_NONE */
+ /* #undef	USE_AUDIO_SUN */
+ /* #undef	USE_AUDIO_NAS */
+ /* #undef	USE_AUDIO_OSS */
+ /* #undef	USE_AUDIO_MACOSX */
+ /* #undef	OSS_DEVICE */
+ 
+ /* header files */
+ 
+ #define	HAVE_UNISTD_H 1
+ /* #undef	NEED_GETHOSTNAME_P */
+ 
+ #define	HAVE_DIRENT_H 1
+ /* #undef	HAVE_SYS_NDIR_H */
+ /* #undef	HAVE_SYS_DIR_H */
+ /* #undef	HAVE_NDIR_H */
+ #define	HAVE_DLFCN_H 1
+ #define	HAVE_ICONV_H 1
+ 
+ #define	HAVE_SYS_TIME_H 1
+ #define	TIME_WITH_SYS_TIME 1
+ 
+ /* #undef	HAVE_SYS_FILIO_H */
+ 
+ /* #undef	HAVE_SYS_AUDIOIO_H */
+ /* #undef	HAVE_SUN_AUDIOIO_H */
+ 
+ #define	HAVE_PTY_H 1
+ /* #undef	HAVE_UTIL_H */
+ /* #undef	HAVE_LIBUTIL_H */
+ #define	HAVE_STROPTS_H 1
+ 
+ #define	HAVE_GL_GL_H 1
+ /* #undef	HAVE_OPENGL_GL_H */
+ 
+ /* #undef	NEED_SUNOS_H */
+ 
+ /* system calls/library functions */
+ 
+ #define	AT_EXIT atexit
+ 
+ #define	HAVE_TZSET 1
+ 
+ #define	HAVE_OPENPTY 1
+ /* #undef	HAVE_UNIX98_PTYS */
+ 
+ #define	HAVE_SNPRINTF 1
+ /* #undef	HAVE___SNPRINTF */
+ 
+ #define	HAVE_MMAP 1
+ 
+ /* #undef	HAVE_DYLD */
+ 
+ #define	HAVE_LANGINFO_CODESET 1
+ 
+ #define	HAVE_ALLOCA 1
+ #define	HAVE_ALLOCA_H 1
+ 
+ #define	HAVE_UNSETENV 1
+ 
+ #define	HAVE_NANOSLEEP 1
+ 
+ /* widths of primitive types */
+ 
+ #define	SIZEOF_INT 4
+ #define	SIZEOF_LONG 4
+ #define	SIZEOF_LONG_LONG 8
+ #define	SIZEOF_VOID_P 4
+ 
+ /* structures */
+ 
+ #define	HAVE_TM_GMTOFF 1
+ #define	HAVE_TIMEZONE 1
+ 
+ /* typedefs */
+ 
+ /* #undef	size_t */
+ /* #undef	socklen_t */
+ 
+ #define	ENABLE_FAST_BLT 1
+ #define	squeakInt64 long long
+ 
+ /* architecture */
+ 
+ #define	OS_TYPE "unix"
+ #define __arm__ 1
+ #define __ARM_ARCH_6__ 1
+ #define	VM_HOST "arm-pc-linux-gnu"
+ #define	VM_HOST_CPU "arm"
+ /* #undef	VM_HOST_VENDOR */
+ #define	VM_HOST_OS "linux-gnu"
+ #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
+ 
+ /* #undef	WORDS_BIGENDIAN */
+ /* #undef	DOUBLE_WORD_ALIGNMENT */
+ 
+ /* damage containment */
+ 
+ /* #undef	DARWIN */
+ 
+ #ifdef NEED_SUNOS_H
+ # include "sunos.h"
+ #endif
+ 
+ /* other configured variables */
+ 
+ #define SQ_VERSION "3.9a-7024"
+ #define VM_VERSION "3.9-7"
+ #define VM_MODULE_PREFIX ""
+ /* #undef VM_DLSYM_PREFIX */
+ #define VM_X11DIR ""
+ 
+ /* avoid dependencies on glibc2.3 */
+ 
+ #define HAVE_FEATURES_H 1
+ 
+ #if defined(HAVE_FEATURES_H)
+ # include "glibc.h"
+ #endif
+ 
+ 
+ /* used by UUID plugin: */
+ 
+ #define HAVE_UUID_H 1
+ 
+ #endif /* __sq_config_h */
+ 																																																																					
+ 																																																																				'!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>configHBuildAssert (in category 'cmake buildType redirects') -----
+ configHBuildAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>configHBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildAssertITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>configHBuildDebug (in category 'cmake buildType redirects') -----
+ configHBuildDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>configHBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildDebugITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>configHBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>configHBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreaded
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>configHBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>configHBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedDebug
+ 	^ self configHBuild!

Item was removed:
- ----- Method: Linux64x86w32BitConfig>>extraVMSettings: (in category 'settings') -----
- extraVMSettings: maker
- 	| versionC |
- 	self generateConfigH.
- 	
- 	"add a generated version.c"
- 	
- 	versionC := 'version.c'.
- 	
- 	maker cmd: 'add_custom_command' params: 'OUTPUT ',
- 		versionC , '
- 		COMMAND ${platformsDir}/unix/config/verstamp ',versionC,' gcc
- 		COMMENT "Generating version.c"
- 	'.
- 	
- 	!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>extraVMSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuild: aMaker
+ 	"SystemNavigation default browseMethodsWhoseNamesContain: 'extraVMSettingsBuild:'"
+ 
+ 	| versionC |
+ 	self generateConfigH.
+ 	
+ 	"add a generated version.c"
+ 	
+ 	versionC := 'version.c'.
+ 	
+ 	aMaker cmd: 'add_custom_command' params: 'OUTPUT ',
+ 		versionC , '
+ 		COMMAND ${platformsDir}/unix/config/verstamp ',versionC,' gcc
+ 		COMMENT "Generating version.c"
+ 	'.
+ 	
+ 	!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>extraVMSettingsBuildAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was removed:
- ----- Method: SqueakAndroidStackEvtConfig>>configH (in category 'source files') -----
- configH
- 	" right now its borrowed directly from unix, but likely will change"
- 	^ '
- #ifndef __sq_config_h
- #define __sq_config_h
- 
- /* explicit image width */
- 
- #define	HAVE_INTERP_H 1
- 
- /* package options */
- 
- #define	USE_X11 1
- #define	USE_X11_GLX 1
- /* #undef	USE_QUARTZ */
- /* #undef	USE_QUARTZ_CGL */
- /* #undef	USE_RFB */
- 
- /* libraries */
- 
- /* #undef	HAVE_LIBX11 */
- /* #undef	HAVE_LIBXEXT */
- #define	HAVE_LIBDL 1
- /* #undef	HAVE_DYLD */
- /* #undef	HAVE_LIBFFI */
- /* #undef	HAVE_ICONV */
- 
- /* #undef	USE_AUDIO_NONE */
- /* #undef	USE_AUDIO_SUN */
- /* #undef	USE_AUDIO_NAS */
- /* #undef	USE_AUDIO_OSS */
- /* #undef	USE_AUDIO_MACOSX */
- /* #undef	OSS_DEVICE */
- 
- /* header files */
- 
- #define	HAVE_UNISTD_H 1
- /* #undef	NEED_GETHOSTNAME_P */
- 
- #define	HAVE_DIRENT_H 1
- /* #undef	HAVE_SYS_NDIR_H */
- /* #undef	HAVE_SYS_DIR_H */
- /* #undef	HAVE_NDIR_H */
- 
- #define	HAVE_SYS_TIME_H 1
- #define	TIME_WITH_SYS_TIME 1
- 
- /* #undef	HAVE_SYS_FILIO_H */
- 
- /* #undef	HAVE_SYS_AUDIOIO_H */
- /* #undef	HAVE_SUN_AUDIOIO_H */
- 
- #define	HAVE_PTY_H 1
- /* #undef	HAVE_UTIL_H */
- /* #undef	HAVE_LIBUTIL_H */
- #define	HAVE_STROPTS_H 1
- 
- #define	HAVE_GL_GL_H 1
- /* #undef	HAVE_OPENGL_GL_H */
- 
- /* #undef	NEED_SUNOS_H */
- 
- /* system calls/library functions */
- 
- #define	AT_EXIT atexit
- 
- #define	HAVE_TZSET 1
- 
- #define	HAVE_OPENPTY 1
- /* #undef	HAVE_UNIX98_PTYS */
- 
- #define	HAVE_SNPRINTF 1
- /* #undef	HAVE___SNPRINTF */
- 
- #define	HAVE_MMAP 1
- 
- /* #undef	HAVE_DYLD */
- 
- #define	HAVE_LANGINFO_CODESET 1
- 
- #define	HAVE_ALLOCA 1
- #define	HAVE_ALLOCA_H 1
- 
- #define	HAVE_UNSETENV 1
- 
- #define	HAVE_NANOSLEEP 1
- 
- /* widths of primitive types */
- 
- #define	SIZEOF_INT 4
- #define	SIZEOF_LONG 4
- #define	SIZEOF_LONG_LONG 8
- #define	SIZEOF_VOID_P 4
- 
- /* structures */
- 
- #define	HAVE_TM_GMTOFF 1
- #define	HAVE_TIMEZONE 1
- 
- /* typedefs */
- 
- /* #undef	size_t */
- /* #undef	socklen_t */
- 
- #define	squeakInt64 long long
- 
- /* architecture */
- 
- #define	OS_TYPE "unix"
- 
- #define	VM_HOST "i686-pc-linux-gnu"
- #define	VM_HOST_CPU "i686"
- /* #undef	VM_HOST_VENDOR */
- #define	VM_HOST_OS "linux-gnu"
- #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
- 
- /* #undef	WORDS_BIGENDIAN */
- /* #undef	DOUBLE_WORD_ALIGNMENT */
- 
- /* damage containment */
- 
- /* #undef	DARWIN */
- 
- #ifdef NEED_SUNOS_H
- # include "sunos.h"
- #endif
- 
- /* other configured variables */
- 
- #define SQ_VERSION "3.9a-7024"
- #define VM_VERSION "3.9-7"
- #define VM_MODULE_PREFIX ""
- /* #undef VM_DLSYM_PREFIX */
- #define VM_X11DIR ""
- 
- /* avoid dependencies on glibc2.3 */
- 
- #define HAVE_FEATURES_H 1
- 
- #if defined(HAVE_FEATURES_H)
- # include "glibc.h"
- #endif
- 
- 
- /* used by UUID plugin: */
- 
- #define HAVE_UUID_H 1
- 
- #endif /* __sq_config_h */
- 																																																																					
- 																																																																				'!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>configHBuild (in category 'cmake buildType redirects') -----
+ configHBuild
+ 	"does nothing. included for framework consistency/testing 
+ 	
+ 	SystemNavigation default browseMethodsWhoseNamesContain: 'configHBuild'
+ 	"
+ 	!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>configHBuildAssert (in category 'cmake buildType redirects') -----
+ configHBuildAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>configHBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildAssertITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>configHBuildDebug (in category 'cmake buildType redirects') -----
+ configHBuildDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>configHBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildDebugITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>configHBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>configHBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreaded
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>configHBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>configHBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedDebug
+ 	^ self configHBuild!

Item was removed:
- ----- Method: SqueakAndroidStackEvtConfig>>extraVMSettings: (in category 'source generation') -----
- extraVMSettings: maker
- 	| versionC |
- 	self generateConfigH.
- 	
- 	"add a generated version.c"
- 	
- 	versionC := 'version.c'.
- 
- 	maker 
- 		puts: '$(buildDir)/',versionC, ':' ;
- 		puts: ({Character tab}, '$(platformsDir)/android/config/verstamp ', '$(buildDir)/', versionC,' gcc');
- 		puts: {Character cr};
- 		puts: ('LOCAL_SRC_FILES += $(buildDir)/', versionC);
- 		puts: {Character cr}.
- 	.
- 	!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>extraVMSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuild: aMaker
+ 	| versionC |
+ 	self generateConfigH.
+ 	
+ 	"add a generated version.c"
+ 	
+ 	versionC := 'version.c'.
+ 
+ 	aMaker 
+ 		puts: '$(buildDir)/',versionC, ':' ;
+ 		puts: ({Character tab}, '$(platformsDir)/android/config/verstamp ', '$(buildDir)/', versionC,' gcc');
+ 		puts: {Character cr};
+ 		puts: ('LOCAL_SRC_FILES += $(buildDir)/', versionC);
+ 		puts: {Character cr}.
+ 	.
+ 	!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>extraVMSettingsBuildAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was removed:
- ----- Method: SqueakBSDConfig>>configH (in category 'headers generation') -----
- configH
- 	self flag:'tty'. "This needs to be customized"
- 	^ '
- #ifndef __sq_config_h
- #define __sq_config_h
- 
- /* explicit image width */
- 
- #define HAVE_INTERP_H 1
- 
- /* package options */
- 
- #define USE_X11 1
- #define USE_X11_GLX 1
- /* #undef       USE_QUARTZ */
- /* #undef       USE_QUARTZ_CGL */
- /* #undef       USE_RFB */
- 
- /* libraries */
- 
- /* #undef       HAVE_LIBX11 */
- #define HAVE_LIBXEXT 1
- #define HAVE_LIBDL 1
- /* #undef       HAVE_DYLD */
- /* #undef       HAVE_LIBFFI */
- /* #undef       HAVE_ICONV */
- 
- /* #undef       USE_AUDIO_NONE */
- /* #undef       USE_AUDIO_SUN */
- /* #undef       USE_AUDIO_NAS */
- /* #undef       USE_AUDIO_OSS */
- /* #undef       USE_AUDIO_MACOSX */
- /* #undef       OSS_DEVICE */
- 
- /* header files */
- 
- #define HAVE_UNISTD_H 1
- /* #undef       NEED_GETHOSTNAME_P */
- 
- #define HAVE_DIRENT_H 1
- /* #undef       HAVE_SYS_NDIR_H */
- /* #undef       HAVE_SYS_DIR_H */
- /* #undef       HAVE_NDIR_H */
- #define HAVE_DLFCN_H 1
- /* #undef       HAVE_ICONV_H */
- 
- #define HAVE_SYS_TIME_H 1
- #define TIME_WITH_SYS_TIME 1
- 
- #define HAVE_SYS_FILIO_H 1
- 
- /* #undef       HAVE_SYS_AUDIOIO_H */
- /* #undef       HAVE_SUN_AUDIOIO_H */
- 
- /* #undef       HAVE_PTY_H */
- /* #undef       HAVE_UTIL_H */
- #define HAVE_LIBUTIL_H 1
- /* #undef       HAVE_STROPTS_H */
- 
- #define HAVE_GL_GL_H 1
- /* #undef       HAVE_OPENGL_GL_H */
- 
- /* #undef       NEED_SUNOS_H */
- 
- 
- #define HAVE_UUID_H
- /* system calls/library functions */
- 
- #define AT_EXIT atexit
- 
- #define HAVE_TZSET 1
- 
- #define HAVE_OPENPTY 1
- /* #undef       HAVE_UNIX98_PTYS */
- 
- #define HAVE_SNPRINTF 1
- /* #undef       HAVE___SNPRINTF */
- 
- #define HAVE_MMAP 1
- 
- /* #undef       HAVE_DYLD */
- 
- #define HAVE_LANGINFO_CODESET 1
- 
- #define HAVE_ALLOCA 1
- /* #undef       HAVE_ALLOCA_H */
- 
- #define HAVE_UNSETENV 1
- 
- #define HAVE_NANOSLEEP 1
- 
- /* widths of primitive types */
- 
- #define SIZEOF_INT 4
- #define SIZEOF_LONG 4
- #define SIZEOF_LONG_LONG 8
- #define SIZEOF_VOID_P 4
- 
- /* structures */
- 
- #define HAVE_TM_GMTOFF 1
- #define HAVE_TIMEZONE 1
- 
- /* typedefs */
- 
- /* #undef       size_t */
- /* #undef       socklen_t */
- 
- #define squeakInt64 long long
- 
- /* architecture */
- 
- #define OS_TYPE "unix"
- 
- #define VM_HOST "i386-freebsd8.2"
- #define VM_HOST_CPU "i386"
- /* #undef       VM_HOST_VENDOR */
- #define VM_HOST_OS "freebsd8.2"
- #define VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
- 
- /* #undef       WORDS_BIGENDIAN */
- /* #undef       DOUBLE_WORD_ALIGNMENT */
- 
- /* damage containment */
- 
- /* #undef       DARWIN */
- 
- #ifdef NEED_SUNOS_H
- # include "sunos.h"
- #endif
- 
- /* other configured variables */
- 
- #define SQ_VERSION "3.9a-7024"
- #define VM_VERSION "3.9-7"
- #define VM_MODULE_PREFIX ""
- /* #undef VM_DLSYM_PREFIX */
- #define VM_X11DIR "/usr/X11R6/lib"
- 
- /* avoid dependencies on glibc2.3 */
- 
- /* #undef HAVE_FEATURES_H */
- 
- #if defined(HAVE_FEATURES_H)
- # include "glibc.h"
- #endif
- 
- #endif /* __sq_config_h */
- 																																																																					
- 																																																																				'!

Item was added:
+ ----- Method: SqueakBSDConfig>>configHBuild (in category 'cmake buildType redirects') -----
+ configHBuild
+ 	self flag:'tty'. "This needs to be customized"
+ 	^ '
+ #ifndef __sq_config_h
+ #define __sq_config_h
+ 
+ /* explicit image width */
+ 
+ #define HAVE_INTERP_H 1
+ 
+ /* package options */
+ 
+ #define USE_X11 1
+ #define USE_X11_GLX 1
+ /* #undef       USE_QUARTZ */
+ /* #undef       USE_QUARTZ_CGL */
+ /* #undef       USE_RFB */
+ 
+ /* libraries */
+ 
+ /* #undef       HAVE_LIBX11 */
+ #define HAVE_LIBXEXT 1
+ #define HAVE_LIBDL 1
+ /* #undef       HAVE_DYLD */
+ /* #undef       HAVE_LIBFFI */
+ /* #undef       HAVE_ICONV */
+ 
+ /* #undef       USE_AUDIO_NONE */
+ /* #undef       USE_AUDIO_SUN */
+ /* #undef       USE_AUDIO_NAS */
+ /* #undef       USE_AUDIO_OSS */
+ /* #undef       USE_AUDIO_MACOSX */
+ /* #undef       OSS_DEVICE */
+ 
+ /* header files */
+ 
+ #define HAVE_UNISTD_H 1
+ /* #undef       NEED_GETHOSTNAME_P */
+ 
+ #define HAVE_DIRENT_H 1
+ /* #undef       HAVE_SYS_NDIR_H */
+ /* #undef       HAVE_SYS_DIR_H */
+ /* #undef       HAVE_NDIR_H */
+ #define HAVE_DLFCN_H 1
+ /* #undef       HAVE_ICONV_H */
+ 
+ #define HAVE_SYS_TIME_H 1
+ #define TIME_WITH_SYS_TIME 1
+ 
+ #define HAVE_SYS_FILIO_H 1
+ 
+ /* #undef       HAVE_SYS_AUDIOIO_H */
+ /* #undef       HAVE_SUN_AUDIOIO_H */
+ 
+ /* #undef       HAVE_PTY_H */
+ /* #undef       HAVE_UTIL_H */
+ #define HAVE_LIBUTIL_H 1
+ /* #undef       HAVE_STROPTS_H */
+ 
+ #define HAVE_GL_GL_H 1
+ /* #undef       HAVE_OPENGL_GL_H */
+ 
+ /* #undef       NEED_SUNOS_H */
+ 
+ 
+ #define HAVE_UUID_H
+ /* system calls/library functions */
+ 
+ #define AT_EXIT atexit
+ 
+ #define HAVE_TZSET 1
+ 
+ #define HAVE_OPENPTY 1
+ /* #undef       HAVE_UNIX98_PTYS */
+ 
+ #define HAVE_SNPRINTF 1
+ /* #undef       HAVE___SNPRINTF */
+ 
+ #define HAVE_MMAP 1
+ 
+ /* #undef       HAVE_DYLD */
+ 
+ #define HAVE_LANGINFO_CODESET 1
+ 
+ #define HAVE_ALLOCA 1
+ /* #undef       HAVE_ALLOCA_H */
+ 
+ #define HAVE_UNSETENV 1
+ 
+ #define HAVE_NANOSLEEP 1
+ 
+ /* widths of primitive types */
+ 
+ #define SIZEOF_INT 4
+ #define SIZEOF_LONG 4
+ #define SIZEOF_LONG_LONG 8
+ #define SIZEOF_VOID_P 4
+ 
+ /* structures */
+ 
+ #define HAVE_TM_GMTOFF 1
+ #define HAVE_TIMEZONE 1
+ 
+ /* typedefs */
+ 
+ /* #undef       size_t */
+ /* #undef       socklen_t */
+ 
+ #define squeakInt64 long long
+ 
+ /* architecture */
+ 
+ #define OS_TYPE "unix"
+ 
+ #define VM_HOST "i386-freebsd8.2"
+ #define VM_HOST_CPU "i386"
+ /* #undef       VM_HOST_VENDOR */
+ #define VM_HOST_OS "freebsd8.2"
+ #define VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
+ 
+ /* #undef       WORDS_BIGENDIAN */
+ /* #undef       DOUBLE_WORD_ALIGNMENT */
+ 
+ /* damage containment */
+ 
+ /* #undef       DARWIN */
+ 
+ #ifdef NEED_SUNOS_H
+ # include "sunos.h"
+ #endif
+ 
+ /* other configured variables */
+ 
+ #define SQ_VERSION "3.9a-7024"
+ #define VM_VERSION "3.9-7"
+ #define VM_MODULE_PREFIX ""
+ /* #undef VM_DLSYM_PREFIX */
+ #define VM_X11DIR "/usr/X11R6/lib"
+ 
+ /* avoid dependencies on glibc2.3 */
+ 
+ /* #undef HAVE_FEATURES_H */
+ 
+ #if defined(HAVE_FEATURES_H)
+ # include "glibc.h"
+ #endif
+ 
+ #endif /* __sq_config_h */
+ 																																																																					
+ 																																																																				'!

Item was added:
+ ----- Method: SqueakBSDConfig>>configHBuildAssert (in category 'cmake buildType redirects') -----
+ configHBuildAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakBSDConfig>>configHBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildAssertITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakBSDConfig>>configHBuildDebug (in category 'cmake buildType redirects') -----
+ configHBuildDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakBSDConfig>>configHBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildDebugITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakBSDConfig>>configHBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakBSDConfig>>configHBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreaded
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakBSDConfig>>configHBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakBSDConfig>>configHBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakBSDConfig>>extraVMSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuild: aMaker
+ 	"SystemNavigation default browseMethodsWhoseNamesContain: 'extraVMSettingsBuild:'"!

Item was added:
+ ----- Method: SqueakBSDConfig>>extraVMSettingsBuildAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakBSDConfig>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakBSDConfig>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakBSDConfig>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakBSDConfig>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakBSDConfig>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakBSDConfig>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakBSDConfig>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was changed:
  ----- Method: SqueakBSDConfig>>setGlobalOptionsBuildAssert: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildAssert: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakBSDConfig>>setGlobalOptionsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildAssertITimerHeartbeat: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakBSDConfig>>setGlobalOptionsBuildDebug: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildDebug: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakBSDConfig>>setGlobalOptionsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildDebugITimerHeartbeat: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakBSDConfig>>setGlobalOptionsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildITimerHeartbeat: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakBSDConfig>>setGlobalOptionsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildMultiThreaded: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakBSDConfig>>setGlobalOptionsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildMultiThreadedAssert: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakBSDConfig>>setGlobalOptionsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildMultiThreadedDebug: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was removed:
- ----- Method: SqueakCocoaIOSCogV3FamilyConfig>>standardIncludes (in category 'source files') -----
- standardIncludes
- 	^#(
- 	'${srcDir}/vm'
- 	'${platformsDir}/iOS/vm/OSX'
- 	'${platformsDir}/unix/vm'
- 	'${platformsDir}/iOS/vm/Common/Classes'
- 	'${platformsDir}/iOS/plugins/SoundPlugin'
- 	'${platformsDir}/iOS/vm/OSX/plugins/SoundPlugin'
- 	'${crossDir}/plugins/SoundPlugin'
- 	'${crossDir}/plugins/HostWindowPlugin'
- 	'${platformsDir}/Cross/plugins/HostWindowPlugin'
- 	'${platformsDir}/iOS/vm/iPhone/plugins/HostWindowPlugin' "Sources are here :("
- 	'${crossDir}/plugins/FilePlugin'
- 	)	
- !

Item was added:
+ ----- Method: SqueakCocoaIOSCogV3FamilyConfig>>standardIncludesBuild (in category 'cmake buildType redirects') -----
+ standardIncludesBuild
+ 	^#(
+ 	'${srcDir}/vm'
+ 	'${platformsDir}/iOS/vm/OSX'
+ 	'${platformsDir}/unix/vm'
+ 	'${platformsDir}/iOS/vm/Common/Classes'
+ 	'${platformsDir}/iOS/plugins/SoundPlugin'
+ 	'${platformsDir}/iOS/vm/OSX/plugins/SoundPlugin'
+ 	'${crossDir}/plugins/SoundPlugin'
+ 	'${crossDir}/plugins/HostWindowPlugin'
+ 	'${platformsDir}/Cross/plugins/HostWindowPlugin'
+ 	'${platformsDir}/iOS/vm/iPhone/plugins/HostWindowPlugin' "Sources are here :("
+ 	'${crossDir}/plugins/FilePlugin'
+ 	)	
+ !

Item was removed:
- ----- Method: SqueakCocoaIOSConfig>>extraVMSettings: (in category 'settings') -----
- extraVMSettings: maker
- 	self architecture
- 		ifNotNil: [ :arch | maker set: 'CMAKE_OSX_ARCHITECTURES' toString: arch ].
- 	self setResourceProperties: maker.
- !

Item was added:
+ ----- Method: SqueakCocoaIOSConfig>>extraVMSettingsBuild: (in category 'settings') -----
+ extraVMSettingsBuild: aMaker
+ 	self architecture
+ 		ifNotNil: [ :arch | aMaker set: 'CMAKE_OSX_ARCHITECTURES' toString: arch ].
+ 	self setResourceProperties: aMaker.
+ !

Item was removed:
- ----- Method: SqueakCocoaIOSConfig>>frameworks (in category 'accessing') -----
- frameworks
- 	^ #(
- 	Cocoa
- 	Foundation
- 	AudioToolbox
- 	CoreAudio
- 	SystemConfiguration
- 	ApplicationServices
- 	QuartzCore
- 	OpenGL
- 	AGL
- 	QuickTime)!

Item was added:
+ ----- Method: SqueakCocoaIOSConfig>>frameworksBuild (in category 'cmake buildType redirects') -----
+ frameworksBuild
+ 	^ #(
+ 	Cocoa
+ 	Foundation
+ 	AudioToolbox
+ 	CoreAudio
+ 	SystemConfiguration
+ 	ApplicationServices
+ 	QuartzCore
+ 	OpenGL
+ 	AGL
+ 	QuickTime)!

Item was changed:
+ ----- Method: SqueakCocoaIOSConfig>>preferredIncludesBuild (in category 'cmake buildType redirects') -----
- ----- Method: SqueakCocoaIOSConfig>>preferredIncludesBuild (in category 'source files') -----
  preferredIncludesBuild
  	^ #(
  	'${buildDir}/'
  	'${platformsDir}/iOS/vm/iPhone'
  	)
  	!

Item was removed:
- ----- Method: SqueakCocoaIOSConfig>>setGlobalOptionsAfterDetermineSystem: (in category 'cmake buildType redirects') -----
- setGlobalOptionsAfterDetermineSystem:  maker
- 	maker set: 'CMAKE_OSX_DEPLOYMENT_TARGET' to: '10.5'.
- 	maker 
- 		set: 'CMAKE_OSX_SYSROOT' 
- 		to: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX', self sdkVersion, '.sdk'!

Item was added:
+ ----- Method: SqueakCocoaIOSConfig>>setGlobalOptionsAfterDetermineSystemBuild: (in category 'cmake buildType redirects') -----
+ setGlobalOptionsAfterDetermineSystemBuild:  aMaker
+ 	aMaker set: 'CMAKE_OSX_DEPLOYMENT_TARGET' to: '10.5'.
+ 	aMaker 
+ 		set: 'CMAKE_OSX_SYSROOT' 
+ 		to: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX', self sdkVersion, '.sdk'!

Item was removed:
- ----- Method: SqueakCocoaIOSConfig>>standardIncludes (in category 'source files') -----
- standardIncludes
- 	^ #(
- 	'${crossDir}/plugins/SerialPlugin'   
- 	'${targetPlatform}/plugins/FilePlugin'
- 	'${crossDir}/plugins/FilePlugin'
- 	'${targetPlatform}/plugins/HostWindowPlugin'
- 	'${platformsDir}/iOS/vm/iPhone/plugins/HostWindowPlugin' 
- 	'${crossDir}/plugins/HostWindowPlugin'
- 	'${crossDir}/plugins/DropPlugin'
- 	'${crossDir}/plugins/SocketPlugin'
- 	'${crossDir}/plugins/SoundPlugin'
- 	'${crossDir}/plugins/AsynchFilePlugin'
- 	'${platformsDir}/unix/vm'
- 	'${platformsDir}/iOS/plugins/SoundPlugin'
- 	'${platformsDir}/iOS/vm/OSX/plugins/SoundPlugin'
- 	'${platformsDir}/iOS/vm/Common/Classes'
- 	'${platformsDir}/iOS/vm/OSX'
- )
- 	!

Item was added:
+ ----- Method: SqueakCocoaIOSConfig>>standardIncludesBuild (in category 'cmake buildType redirects') -----
+ standardIncludesBuild
+ 	^ #(
+ 	'${crossDir}/plugins/SerialPlugin'   
+ 	'${targetPlatform}/plugins/FilePlugin'
+ 	'${crossDir}/plugins/FilePlugin'
+ 	'${targetPlatform}/plugins/HostWindowPlugin'
+ 	'${platformsDir}/iOS/vm/iPhone/plugins/HostWindowPlugin' 
+ 	'${crossDir}/plugins/HostWindowPlugin'
+ 	'${crossDir}/plugins/DropPlugin'
+ 	'${crossDir}/plugins/SocketPlugin'
+ 	'${crossDir}/plugins/SoundPlugin'
+ 	'${crossDir}/plugins/AsynchFilePlugin'
+ 	'${platformsDir}/unix/vm'
+ 	'${platformsDir}/iOS/plugins/SoundPlugin'
+ 	'${platformsDir}/iOS/vm/OSX/plugins/SoundPlugin'
+ 	'${platformsDir}/iOS/vm/Common/Classes'
+ 	'${platformsDir}/iOS/vm/OSX'
+ )
+ 	!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configHBuild (in category 'cmake buildType redirects') -----
+ configHBuild
+ 	"does nothing. included for framework consistency/testing 
+ 	
+ 	SystemNavigation default browseMethodsWhoseNamesContain: 'configHBuild'
+ 	"
+ 	!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configHBuildAssert (in category 'cmake buildType redirects') -----
+ configHBuildAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configHBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildAssertITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configHBuildDebug (in category 'cmake buildType redirects') -----
+ configHBuildDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configHBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildDebugITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configHBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configHBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreaded
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configHBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configHBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>extraVMSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuild: aMaker
+ 	"SystemNavigation default browseMethodsWhoseNamesContain: 'extraVMSettingsBuild:'"!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>extraVMSettingsBuildAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was removed:
- ----- Method: SqueakIA32BochsConfig>>isAbstractBaseClass (in category 'testing') -----
- isAbstractBaseClass
- 	^true!

Item was changed:
  ----- Method: SqueakIA32BochsConfig>>setGlobalOptionsBuild: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuild: aMaker
  	"does nothing. included for framework consistency/testing 
  	
  	SystemNavigation default browseMethodsWhoseNamesContain: 'setGlobalOptionsBuild'
  	"
  	!

Item was changed:
  ----- Method: SqueakIA32BochsConfig>>setGlobalOptionsBuildAssert: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildAssert: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakIA32BochsConfig>>setGlobalOptionsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildAssertITimerHeartbeat: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakIA32BochsConfig>>setGlobalOptionsBuildDebug: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildDebug: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakIA32BochsConfig>>setGlobalOptionsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildDebugITimerHeartbeat: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakIA32BochsConfig>>setGlobalOptionsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildITimerHeartbeat: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakIA32BochsConfig>>setGlobalOptionsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildMultiThreaded: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakIA32BochsConfig>>setGlobalOptionsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildMultiThreadedAssert: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was changed:
  ----- Method: SqueakIA32BochsConfig>>setGlobalOptionsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuildMultiThreadedDebug: aMaker
  	^self setGlobalOptionsBuild: aMaker
  !

Item was added:
+ ----- Method: SqueakIOSConfig>>extraVMSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuild: aMaker
+ 	"SystemNavigation default browseMethodsWhoseNamesContain: 'extraVMSettingsBuild:'"!

Item was added:
+ ----- Method: SqueakIOSConfig>>extraVMSettingsBuildAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIOSConfig>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIOSConfig>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIOSConfig>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIOSConfig>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIOSConfig>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIOSConfig>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakIOSConfig>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was changed:
  ----- Method: SqueakIOSConfig>>setGlobalOptionsBuild: (in category 'cmake buildType redirects') -----
  setGlobalOptionsBuild: aMaker
  	"does nothing. included for framework consistency/testing 
  	
  	SystemNavigation default browseMethodsWhoseNamesContain: 'setGlobalOptionsBuild'
  	"
  	!

Item was removed:
- ----- Method: SqueakIPhoneSimulatorSqueakStackV3Config>>standardIncludes (in category 'source files') -----
- standardIncludes 
- 	^super standardIncludes, {
- 		'/Applications/Xcode.app/Contents/Developer/Platforms/{1}.platform/Developer/SDKs/{1}{2}.sdk/usr/include/'
- 			format: { 
- 				self targetDevice. 
- 				self sdkVersion} }
- 		 !

Item was added:
+ ----- Method: SqueakIPhoneSimulatorSqueakStackV3Config>>standardIncludesBuild (in category 'cmake buildType redirects') -----
+ standardIncludesBuild 
+ 	^super standardIncludesBuild, {
+ 		'/Applications/Xcode.app/Contents/Developer/Platforms/{1}.platform/Developer/SDKs/{1}{2}.sdk/usr/include/'
+ 			format: { 
+ 				self targetDevice. 
+ 				self sdkVersion} }
+ 		 !

Item was removed:
- ----- Method: SqueakIPhoneSqueakStackV3Config>>frameworks (in category 'accessing') -----
- frameworks
- 	^ #(
- 	CoreAudio
- 	CoreGraphics
- 	CoreLocation
- 	UIKit
- 	CoreFoundation
- 	Foundation
- 	QuartzCore
- 	OpenGLES
- 	AudioToolbox
- 	SystemConfiguration)!

Item was added:
+ ----- Method: SqueakIPhoneSqueakStackV3Config>>frameworksBuild (in category 'cmake buildType redirects') -----
+ frameworksBuild
+ 	^ #(
+ 	CoreAudio
+ 	CoreGraphics
+ 	CoreLocation
+ 	UIKit
+ 	CoreFoundation
+ 	Foundation
+ 	QuartzCore
+ 	OpenGLES
+ 	AudioToolbox
+ 	SystemConfiguration)!

Item was removed:
- ----- Method: SqueakIPhoneSqueakStackV3Config>>setGlobalOptionsAfterDetermineSystem: (in category 'utils') -----
- setGlobalOptionsAfterDetermineSystem: maker
- 	maker 
- 		set: 'CMAKE_OSX_SYSROOT' 
- 		to: ('/Applications/Xcode.app/Contents/Developer/Platforms/{1}.platform/Developer/SDKs/{1}{2}.sdk'
- 			format: { self targetDevice. self sdkVersion })!

Item was added:
+ ----- Method: SqueakIPhoneSqueakStackV3Config>>setGlobalOptionsAfterDetermineSystemBuild: (in category 'cmake buildType redirects') -----
+ setGlobalOptionsAfterDetermineSystemBuild: aMaker
+ 	aMaker 
+ 		set: 'CMAKE_OSX_SYSROOT' 
+ 		to: ('/Applications/Xcode.app/Contents/Developer/Platforms/{1}.platform/Developer/SDKs/{1}{2}.sdk'
+ 			format: { self targetDevice. self sdkVersion })!

Item was removed:
- ----- Method: SqueakIPhoneSqueakStackV3Config>>standardIncludes (in category 'source files') -----
- standardIncludes
- 	^#(
- 	'${srcDir}/vm'
- 	'${platformsDir}/iOS/vm/iPhone'
- 	'${platformsDir}/iOS/vm/iPhone/Classes'
- 	'${platformsDir}/iOS/vm/OSX'
- 	'${platformsDir}/unix/vm'
- 	'${platformsDir}/iOS/vm/Common/Classes'
- 	'${platformsDir}/iOS/plugins/SoundPlugin'
- 	'${platformsDir}/iOS/vm/OSX/plugins/SoundPlugin'
- 	'${crossDir}/plugins/SoundPlugin'
- 	'${crossDir}/plugins/HostWindowPlugin'
- 	'${platformsDir}/Cross/plugins/HostWindowPlugin'
- 	'${platformsDir}/iOS/vm/iPhone/plugins/HostWindowPlugin'
- 	'${crossDir}/plugins/FilePlugin'
- 	)	
- !

Item was added:
+ ----- Method: SqueakIPhoneSqueakStackV3Config>>standardIncludesBuild (in category 'cmake buildType redirects') -----
+ standardIncludesBuild
+ 	^#(
+ 	'${srcDir}/vm'
+ 	'${platformsDir}/iOS/vm/iPhone'
+ 	'${platformsDir}/iOS/vm/iPhone/Classes'
+ 	'${platformsDir}/iOS/vm/OSX'
+ 	'${platformsDir}/unix/vm'
+ 	'${platformsDir}/iOS/vm/Common/Classes'
+ 	'${platformsDir}/iOS/plugins/SoundPlugin'
+ 	'${platformsDir}/iOS/vm/OSX/plugins/SoundPlugin'
+ 	'${crossDir}/plugins/SoundPlugin'
+ 	'${crossDir}/plugins/HostWindowPlugin'
+ 	'${platformsDir}/Cross/plugins/HostWindowPlugin'
+ 	'${platformsDir}/iOS/vm/iPhone/plugins/HostWindowPlugin'
+ 	'${crossDir}/plugins/FilePlugin'
+ 	)	
+ !

Item was added:
+ ----- Method: SqueakMacOSX32x86Config>>extraVMSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuild: aMaker
+ 	"SystemNavigation default browseMethodsWhoseNamesContain: 'extraVMSettingsBuild:'"
+ 
+ 	"Cog currently runs only in 32 bit mode" 
+ 	aMaker set: 'CMAKE_OSX_ARCHITECTURES' to: 'i386'.
+ 
+ 	aMaker set: 'resourceDir' toString: ((self resourcesDir pathName), FileDirectory slash, 'ProjectBuilder').
+ 	aMaker set: 'resources' to: 
+ 		'"${resourceDir}/Squeak VM.r"
+ 		"${resourceDir}/Cog.icns"
+ 		"${resourceDir}/Squeak.icns"
+ 		"${resourceDir}/SqueakChanges.icns"
+ 		"${resourceDir}/SqueakImage.icns"
+ 		"${resourceDir}/SqueakPlugin.icns"
+ 		"${resourceDir}/SqueakScript.icns"
+ 		"${resourceDir}/SqueakGeneric.icns"
+ 		"${resourceDir}/SqueakProject.icns"
+ 		"${resourceDir}/SqueakSources.icns"'
+ !

Item was added:
+ ----- Method: SqueakMacOSX32x86Config>>extraVMSettingsBuildAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSX32x86Config>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSX32x86Config>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSX32x86Config>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSX32x86Config>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSX32x86Config>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSX32x86Config>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSX32x86Config>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>extraVMSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuild: aMaker
+ 	"SystemNavigation default browseMethodsWhoseNamesContain: 'extraVMSettingsBuild:'"
+ 
+ 	"Cog currently runs only in 32 bit mode" 
+ 	aMaker set: 'CMAKE_OSX_ARCHITECTURES' to: 'i386'.
+ 
+ 	aMaker set: 'resourceDir' toString: ((self resourcesDir pathName), FileDirectory slash, 'ProjectBuilder').
+ 	aMaker set: 'resources' to: 
+ 		'"${resourceDir}/Squeak VM.r"
+ 		"${resourceDir}/Cog.icns"
+ 		"${resourceDir}/Squeak.icns"
+ 		"${resourceDir}/SqueakChanges.icns"
+ 		"${resourceDir}/SqueakImage.icns"
+ 		"${resourceDir}/SqueakPlugin.icns"
+ 		"${resourceDir}/SqueakScript.icns"
+ 		"${resourceDir}/SqueakGeneric.icns"
+ 		"${resourceDir}/SqueakProject.icns"
+ 		"${resourceDir}/SqueakSources.icns"'
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>extraVMSettingsBuildAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakMacintoshConfig>>frameworksBuild (in category 'cmake buildType redirects') -----
+ frameworksBuild
+ 	^ #()!

Item was added:
+ ----- Method: SqueakMacintoshConfig>>frameworksBuildAssert (in category 'cmake buildType redirects') -----
+ frameworksBuildAssert
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakMacintoshConfig>>frameworksBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildAssertITimerHeartbeat
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakMacintoshConfig>>frameworksBuildDebug (in category 'cmake buildType redirects') -----
+ frameworksBuildDebug
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakMacintoshConfig>>frameworksBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildDebugITimerHeartbeat
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakMacintoshConfig>>frameworksBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildITimerHeartbeat
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakMacintoshConfig>>frameworksBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreaded
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakMacintoshConfig>>frameworksBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreadedAssert
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakMacintoshConfig>>frameworksBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreadedDebug
+ 	^ self frameworksBuild!

Item was removed:
- ----- Method: SqueakSunOS32x86Config>>configH (in category 'headers generation') -----
- configH
- 	self flag:'tty'. "This needs to be customized"
- 	^ '
- #ifndef __sq_config_h
- #define __sq_config_h
- 
- /* explicit image width */
- 
- #define	HAVE_INTERP_H 1
- 
- /* package options */
- 
- #define	USE_X11 1
- #define	USE_X11_GLX 1
- /* #undef	USE_QUARTZ */
- /* #undef	USE_QUARTZ_CGL */
- /* #undef	USE_RFB */
- 
- /* libraries */
- 
- /* #undef	HAVE_LIBX11 */
- /* #undef	HAVE_LIBXEXT */
- #define	HAVE_LIBDL 1
- /* #undef	HAVE_DYLD */
- /* #undef	HAVE_LIBFFI */
- /* #undef	HAVE_ICONV */
- 
- /* #undef	USE_AUDIO_NONE */
- /* #undef	USE_AUDIO_SUN */
- /* #undef	USE_AUDIO_NAS */
- /* #undef	USE_AUDIO_OSS */
- /* #undef	USE_AUDIO_MACOSX */
- /* #undef	OSS_DEVICE */
- 
- /* header files */
- 
- #define	HAVE_UNISTD_H 1
- /* #undef	NEED_GETHOSTNAME_P */
- 
- #define	HAVE_DIRENT_H 1
- /* #undef	HAVE_SYS_NDIR_H */
- /* #undef	HAVE_SYS_DIR_H */
- /* #undef	HAVE_NDIR_H */
- #define	HAVE_DLFCN_H 1
- #define	HAVE_ICONV_H 1
- 
- #define	HAVE_SYS_TIME_H 1
- #define	TIME_WITH_SYS_TIME 1
- 
- /* #undef	HAVE_SYS_FILIO_H */
- 
- /* #undef	HAVE_SYS_AUDIOIO_H */
- /* #undef	HAVE_SUN_AUDIOIO_H */
- 
- #define	HAVE_PTY_H 1
- /* #undef	HAVE_UTIL_H */
- /* #undef	HAVE_LIBUTIL_H */
- #define	HAVE_STROPTS_H 1
- 
- #define	HAVE_GL_GL_H 1
- /* #undef	HAVE_OPENGL_GL_H */
- 
- /* #undef	NEED_SUNOS_H */
- 
- /* system calls/library functions */
- 
- #define	AT_EXIT atexit
- 
- #define	HAVE_TZSET 1
- 
- #define	HAVE_OPENPTY 1
- /* #undef	HAVE_UNIX98_PTYS */
- 
- #define	HAVE_SNPRINTF 1
- /* #undef	HAVE___SNPRINTF */
- 
- #define	HAVE_MMAP 1
- 
- /* #undef	HAVE_DYLD */
- 
- #define	HAVE_LANGINFO_CODESET 1
- 
- #define	HAVE_ALLOCA 1
- #define	HAVE_ALLOCA_H 1
- 
- #define	HAVE_UNSETENV 1
- 
- #define	HAVE_NANOSLEEP 1
- 
- /* widths of primitive types */
- 
- #define	SIZEOF_INT 4
- #define	SIZEOF_LONG 4
- #define	SIZEOF_LONG_LONG 8
- #define	SIZEOF_VOID_P 4
- 
- /* structures */
- 
- #define	HAVE_TM_GMTOFF 1
- #define	HAVE_TIMEZONE 1
- 
- /* typedefs */
- 
- /* #undef	size_t */
- /* #undef	socklen_t */
- 
- #define	ENABLE_FAST_BLT 1
- #define	squeakInt64 long long
- 
- /* architecture */
- 
- #define	OS_TYPE "unix"
- #define __arm__ 1
- #define __ARM_ARCH_6__ 1
- #define	VM_HOST "arm-pc-linux-gnu"
- #define	VM_HOST_CPU "arm"
- /* #undef	VM_HOST_VENDOR */
- #define	VM_HOST_OS "linux-gnu"
- #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
- 
- /* #undef	WORDS_BIGENDIAN */
- /* #undef	DOUBLE_WORD_ALIGNMENT */
- 
- /* damage containment */
- 
- /* #undef	DARWIN */
- 
- #ifdef NEED_SUNOS_H
- # include "sunos.h"
- #endif
- 
- /* other configured variables */
- 
- #define SQ_VERSION "3.9a-7024"
- #define VM_VERSION "3.9-7"
- #define VM_MODULE_PREFIX ""
- /* #undef VM_DLSYM_PREFIX */
- #define VM_X11DIR ""
- 
- /* avoid dependencies on glibc2.3 */
- 
- #define HAVE_FEATURES_H 1
- 
- #if defined(HAVE_FEATURES_H)
- # include "glibc.h"
- #endif
- 
- 
- /* used by UUID plugin: */
- 
- #define HAVE_UUID_H 1
- 
- #endif /* __sq_config_h */
- 																																																																					
- 																																																																				'!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configHBuild (in category 'cmake buildType redirects') -----
+ configHBuild
+ 	self flag:'tty'. "This needs to be customized"
+ 	^ '
+ #ifndef __sq_config_h
+ #define __sq_config_h
+ 
+ /* explicit image width */
+ 
+ #define	HAVE_INTERP_H 1
+ 
+ /* package options */
+ 
+ #define	USE_X11 1
+ #define	USE_X11_GLX 1
+ /* #undef	USE_QUARTZ */
+ /* #undef	USE_QUARTZ_CGL */
+ /* #undef	USE_RFB */
+ 
+ /* libraries */
+ 
+ /* #undef	HAVE_LIBX11 */
+ /* #undef	HAVE_LIBXEXT */
+ #define	HAVE_LIBDL 1
+ /* #undef	HAVE_DYLD */
+ /* #undef	HAVE_LIBFFI */
+ /* #undef	HAVE_ICONV */
+ 
+ /* #undef	USE_AUDIO_NONE */
+ /* #undef	USE_AUDIO_SUN */
+ /* #undef	USE_AUDIO_NAS */
+ /* #undef	USE_AUDIO_OSS */
+ /* #undef	USE_AUDIO_MACOSX */
+ /* #undef	OSS_DEVICE */
+ 
+ /* header files */
+ 
+ #define	HAVE_UNISTD_H 1
+ /* #undef	NEED_GETHOSTNAME_P */
+ 
+ #define	HAVE_DIRENT_H 1
+ /* #undef	HAVE_SYS_NDIR_H */
+ /* #undef	HAVE_SYS_DIR_H */
+ /* #undef	HAVE_NDIR_H */
+ #define	HAVE_DLFCN_H 1
+ #define	HAVE_ICONV_H 1
+ 
+ #define	HAVE_SYS_TIME_H 1
+ #define	TIME_WITH_SYS_TIME 1
+ 
+ /* #undef	HAVE_SYS_FILIO_H */
+ 
+ /* #undef	HAVE_SYS_AUDIOIO_H */
+ /* #undef	HAVE_SUN_AUDIOIO_H */
+ 
+ #define	HAVE_PTY_H 1
+ /* #undef	HAVE_UTIL_H */
+ /* #undef	HAVE_LIBUTIL_H */
+ #define	HAVE_STROPTS_H 1
+ 
+ #define	HAVE_GL_GL_H 1
+ /* #undef	HAVE_OPENGL_GL_H */
+ 
+ /* #undef	NEED_SUNOS_H */
+ 
+ /* system calls/library functions */
+ 
+ #define	AT_EXIT atexit
+ 
+ #define	HAVE_TZSET 1
+ 
+ #define	HAVE_OPENPTY 1
+ /* #undef	HAVE_UNIX98_PTYS */
+ 
+ #define	HAVE_SNPRINTF 1
+ /* #undef	HAVE___SNPRINTF */
+ 
+ #define	HAVE_MMAP 1
+ 
+ /* #undef	HAVE_DYLD */
+ 
+ #define	HAVE_LANGINFO_CODESET 1
+ 
+ #define	HAVE_ALLOCA 1
+ #define	HAVE_ALLOCA_H 1
+ 
+ #define	HAVE_UNSETENV 1
+ 
+ #define	HAVE_NANOSLEEP 1
+ 
+ /* widths of primitive types */
+ 
+ #define	SIZEOF_INT 4
+ #define	SIZEOF_LONG 4
+ #define	SIZEOF_LONG_LONG 8
+ #define	SIZEOF_VOID_P 4
+ 
+ /* structures */
+ 
+ #define	HAVE_TM_GMTOFF 1
+ #define	HAVE_TIMEZONE 1
+ 
+ /* typedefs */
+ 
+ /* #undef	size_t */
+ /* #undef	socklen_t */
+ 
+ #define	ENABLE_FAST_BLT 1
+ #define	squeakInt64 long long
+ 
+ /* architecture */
+ 
+ #define	OS_TYPE "unix"
+ #define __arm__ 1
+ #define __ARM_ARCH_6__ 1
+ #define	VM_HOST "arm-pc-linux-gnu"
+ #define	VM_HOST_CPU "arm"
+ /* #undef	VM_HOST_VENDOR */
+ #define	VM_HOST_OS "linux-gnu"
+ #define	VM_BUILD_STRING "Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__
+ 
+ /* #undef	WORDS_BIGENDIAN */
+ /* #undef	DOUBLE_WORD_ALIGNMENT */
+ 
+ /* damage containment */
+ 
+ /* #undef	DARWIN */
+ 
+ #ifdef NEED_SUNOS_H
+ # include "sunos.h"
+ #endif
+ 
+ /* other configured variables */
+ 
+ #define SQ_VERSION "3.9a-7024"
+ #define VM_VERSION "3.9-7"
+ #define VM_MODULE_PREFIX ""
+ /* #undef VM_DLSYM_PREFIX */
+ #define VM_X11DIR ""
+ 
+ /* avoid dependencies on glibc2.3 */
+ 
+ #define HAVE_FEATURES_H 1
+ 
+ #if defined(HAVE_FEATURES_H)
+ # include "glibc.h"
+ #endif
+ 
+ 
+ /* used by UUID plugin: */
+ 
+ #define HAVE_UUID_H 1
+ 
+ #endif /* __sq_config_h */
+ 																																																																					
+ 																																																																				'!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configHBuildAssert (in category 'cmake buildType redirects') -----
+ configHBuildAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configHBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildAssertITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configHBuildDebug (in category 'cmake buildType redirects') -----
+ configHBuildDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configHBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildDebugITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configHBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildITimerHeartbeat
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configHBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreaded
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configHBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedAssert
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configHBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedDebug
+ 	^ self configHBuild!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>extraVMSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuild: aMaker
+ 	"SystemNavigation default browseMethodsWhoseNamesContain: 'extraVMSettingsBuild:'"!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was changed:
+ ----- Method: SqueakUnixConfig>>configH (in category 'cmake buildType redirects') -----
- ----- Method: SqueakUnixConfig>>configH (in category 'headers generation') -----
  configH
+ 	"Route this message send to the message appropriate for my buildType "
+ 	|d |
+ 	self flag:'tty'. "this should be replaced by cC cXX lDFlags libs "
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	d 
+ 		at: #build put: [self configHBuild];
+ 		at: #buildAssert  put: [self configHBuildAssert];
+ 		at: #buildAssertITimerHeartbeat  put: [self configHBuildAssertITimerHeartbeat];
+             at:#buildDebug  put: [self cFlagsBuildDebug];   
+ 		at: #buildDebugITimerHeartbeat  put: [self configHBuildDebugITimerHeartbeat ];
+ 		at: #buildITimerHeartbeat  put: [self configHBuildITimerHeartbeat];
+ 		at: #buildMultiThreaded  put: [self configHBuildMultiThreaded];
+ 		at: #buildMultiThreadedAssert  put: [self configHBuildMultiThreadedAssert];
+ 		at: #buildMultiThreadedDebug   put: [self configHBuildMultiThreadedDebug ];
+ 		at: #buildNone put:[self configHNoBuildType].
+ 	^(d at: buildType) value
+ 
+ 
  "ONLY USED ON UNIX CONFIGS included here for completeness and consistency CogUnixConfig browse.
+ 
- "
- "
  Use  configH to tell your plugins where to find its libraries etc.
  The version of this is platform dependent.
  You may also need to edit your oscogvm/platforms/YOUR PLATFORM/plugins/ThePLuginDirectory/acinclude.m4 file so that it conforms to your system.
  
  tty needed a custom version of this in Linux32x86SqueakCogV3NoGLConfig in order to build the UUIDPlugin.
  
  Go to oscogvm/platforms/YOUR PLATFORM/plugins/ThePLuginDirectory and look at the acinclude.m4 file
  you may need to edit that .
  
  NOTE: CPlatformConfig contains a useable version of this that you can modify. 
  
  I reproduce it here, but with double quotes changed to two single quotes so that the commenting will hold.
  I provide a <---N.B quotes need changing at each place they have been modified.
  
+ Again. it is easier to copy the one in CPlatformConfig."
- Again. it is easier to copy the one in CPlatformConfig.
  
  
+ !
- 	^ '
- #ifndef __sq_config_h
- #define __sq_config_h
- 
- /* explicit image width */
- 
- #define HAVE_INTERP_H 1
- 
- /* package options */
- 
- #define USE_X11 1
- #define USE_X11_GLX 1
- /* #undef       USE_QUARTZ */
- /* #undef       USE_QUARTZ_CGL */
- /* #undef       USE_RFB */
- 
- /* libraries */
- 
- /* #undef       HAVE_LIBX11 */
- #define HAVE_LIBXEXT 1
- #define HAVE_LIBDL 1
- /* #undef       HAVE_DYLD */
- /* #undef       HAVE_LIBFFI */
- /* #undef       HAVE_ICONV */
- 
- /* #undef       USE_AUDIO_NONE */
- /* #undef       USE_AUDIO_SUN */
- /* #undef       USE_AUDIO_NAS */
- /* #undef       USE_AUDIO_OSS */
- /* #undef       USE_AUDIO_MACOSX */
- /* #undef       OSS_DEVICE */
- 
- /* header files */
- 
- #define HAVE_UNISTD_H 1
- /* #undef       NEED_GETHOSTNAME_P */
- 
- #define HAVE_DIRENT_H 1
- /* #undef       HAVE_SYS_NDIR_H */
- /* #undef       HAVE_SYS_DIR_H */
- /* #undef       HAVE_NDIR_H */
- #define HAVE_DLFCN_H 1
- /* #undef       HAVE_ICONV_H */
- 
- #define HAVE_SYS_TIME_H 1
- #define TIME_WITH_SYS_TIME 1
- 
- #define HAVE_SYS_FILIO_H 1
- 
- /* #undef       HAVE_SYS_AUDIOIO_H */
- /* #undef       HAVE_SUN_AUDIOIO_H */
- 
- /* #undef       HAVE_PTY_H */
- /* #undef       HAVE_UTIL_H */
- #define HAVE_LIBUTIL_H 1
- /* #undef       HAVE_STROPTS_H */
- 
- #define HAVE_GL_GL_H 1
- /* #undef       HAVE_OPENGL_GL_H */
- 
- /* #undef       NEED_SUNOS_H */
- 
- 
- #define HAVE_UUID_H
- /* system calls/library functions */
- 
- #define AT_EXIT atexit
- 
- #define HAVE_TZSET 1
- 
- #define HAVE_OPENPTY 1
- /* #undef       HAVE_UNIX98_PTYS */
- 
- #define HAVE_SNPRINTF 1
- /* #undef       HAVE___SNPRINTF */
- 
- #define HAVE_MMAP 1
- 
- /* #undef       HAVE_DYLD */
- 
- #define HAVE_LANGINFO_CODESET 1
- 
- #define HAVE_ALLOCA 1
- /* #undef       HAVE_ALLOCA_H */
- 
- #define HAVE_UNSETENV 1
- 
- #define HAVE_NANOSLEEP 1
- 
- /* widths of primitive types */
- 
- #define SIZEOF_INT 4
- #define SIZEOF_LONG 4
- #define SIZEOF_LONG_LONG 8
- #define SIZEOF_VOID_P 4
- 
- /* structures */
- 
- #define HAVE_TM_GMTOFF 1
- #define HAVE_TIMEZONE 1
- 
- /* typedefs */
- 
- /* #undef       size_t */
- /* #undef       socklen_t */
- 
- #define squeakInt64 long long
- 
- /* architecture */
- 
- #define OS_TYPE ''unix''    <---N.B quotes need changing at each place they have been modifying.
- 
- #define VM_HOST ''i386-freebsd8.2''    <---N.B quotes need changing at each place they have been modifying.
- #define VM_HOST_CPU ''i386''    <---N.B quotes need changing at each place they have been modifying.
- /* #undef       VM_HOST_VENDOR */
- #define VM_HOST_OS ''freebsd8.2''   <---N.B quotes need changing at each place they have been modifying.
- #define VM_BUILD_STRING ''Unix built on ''__DATE__ '' ''__TIME__'' Compiler: ''__VERSION__          <---N.B quotes need changing at each place they have been modifying.
- 
- /* #undef       WORDS_BIGENDIAN */
- /* #undef       DOUBLE_WORD_ALIGNMENT */
- 
- /* damage containment */
- 
- /* #undef       DARWIN */
- 
- #ifdef NEED_SUNOS_H
- # include ''sunos.h''    <---N.B quotes need changing at each place they have been modifying.
- #endif
- 
- /* other configured variables */
- 
- #define SQ_VERSION ''3.9a-7024''    <---N.B quotes need changing at each place they have been modifying.
- #define VM_VERSION ''3.9-7''    <---N.B quotes need changing at each place they have been modifying.
- #define VM_MODULE_PREFIX ''    <---N.B quotes need changing at each place they have been modifying.
- /* #undef VM_DLSYM_PREFIX */    
- #define VM_X11DIR '/usr/X11R6/lib'    <---N.B quotes need changing at each place they have been modifying.
- 
- /* avoid dependencies on glibc2.3 */
- 
- /* #undef HAVE_FEATURES_H */
- 
- #if defined(HAVE_FEATURES_H)
- # include ''glibc.h''    <---N.B quotes need changing at each place they have been modifying.
- #endif
- 
- #endif /* __sq_config_h */
- 																																																																					
- 																																																																				'
- "!

Item was added:
+ ----- Method: SqueakUnixConfig>>configHBuild (in category 'cmake buildType redirects') -----
+ configHBuild
+ 	"convenience method to customize configH for this buildType. default is self configH
+ 	^self configH"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configHBuildAssert (in category 'cmake buildType redirects') -----
+ configHBuildAssert
+ 	"convenience method to customize configH for this buildType. default is self configH
+ 	^self configH"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configHBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildAssertITimerHeartbeat
+ 	"convenience method to customize configH for this buildType. default is self configH
+ 	^self configH"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configHBuildDebug (in category 'cmake buildType redirects') -----
+ configHBuildDebug
+ 	"convenience method to customize configH for this buildType. default is self configH
+ 	^self configH"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configHBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildDebugITimerHeartbeat
+ 	"convenience method to customize configH for this buildType. default is self configH
+ 	^self configH"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configHBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ configHBuildITimerHeartbeat
+ 	"convenience method to customize configH for this buildType. default is self configH
+ 	^self configH"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configHBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreaded
+ 	"convenience method to customize configH for this buildType. default is self configH
+ 	^self configH"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configHBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedAssert
+ 	"convenience method to customize configH for this buildType. default is self configH
+ 	^self configH"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configHBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ configHBuildMultiThreadedDebug
+ 	"convenience method to customize configH for this buildType. default is self configH
+ 	^self configH"
+ 	self subclassResponsibility
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configHNoBuildType (in category 'cmake buildType redirects') -----
+ configHNoBuildType
+ 	"SHOULD NOT GET HERE"	
+ 	self shouldNotImplement!

Item was changed:
  ----- Method: SqueakUnixConfig>>configureForBuildType: (in category 'cmake configuration') -----
  configureForBuildType: aSymbol
  	"Set my internal state appropriate for my build type".
  	self configureNoBuildType.                "reset all internal flags"
  	buildType:= aSymbol.                       "error checking was handled previously"
  	self
  		preferredIncludes;
  		standardIncludes;
  		configureFlags;     "  configure --without-npsqueak --with-src=stacksrc --with-plugins=src/plugins --disable-cogi --without-vm-display-fbdev  --x-libraries=/usr/lib --without-gl "
  		cC;                         " CC=''gcc -m32 -v''"
  		cXX;                        "CXX=''g++ -m32'"
  		lDFlags;                    " LDFLAGS=-Wl,-z,now"
  		libs;                         " LIBS=''-lpthread -luuid''"
  		internalPlugins;
  		externalPlugins.
  
  !

Item was removed:
- ----- Method: SqueakUnixConfig>>frameworks (in category 'accessing') -----
- frameworks
- 	"leave empty for all platforms but Mac OS"
- 	^ #()!

Item was added:
+ ----- Method: SqueakUnixConfig>>frameworksBuild (in category 'cmake buildType redirects') -----
+ frameworksBuild
+ 	"leave empty for all platforms but Mac OS"
+ 	^ #()!

Item was added:
+ ----- Method: SqueakUnixConfig>>frameworksBuildAssert (in category 'cmake buildType redirects') -----
+ frameworksBuildAssert
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakUnixConfig>>frameworksBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildAssertITimerHeartbeat
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakUnixConfig>>frameworksBuildDebug (in category 'cmake buildType redirects') -----
+ frameworksBuildDebug
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakUnixConfig>>frameworksBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildDebugITimerHeartbeat
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakUnixConfig>>frameworksBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildITimerHeartbeat
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakUnixConfig>>frameworksBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreaded
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakUnixConfig>>frameworksBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreadedAssert
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakUnixConfig>>frameworksBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreadedDebug
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakWin32x86Config>>extraVMSettingsBuildAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakWin32x86Config>>extraVMSettingsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildAssertITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakWin32x86Config>>extraVMSettingsBuildDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakWin32x86Config>>extraVMSettingsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildDebugITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakWin32x86Config>>extraVMSettingsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildITimerHeartbeat: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakWin32x86Config>>extraVMSettingsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreaded: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakWin32x86Config>>extraVMSettingsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedAssert: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was added:
+ ----- Method: SqueakWin32x86Config>>extraVMSettingsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ extraVMSettingsBuildMultiThreadedDebug: aMaker
+ 	^self extraVMSettingsBuild: aMaker!

Item was removed:
- ----- Method: SqueakWindowsConfig>>frameworks (in category 'accessing') -----
- frameworks
- 	"leave empty for all platforms but Mac OS"
- 	^ #()!

Item was added:
+ ----- Method: SqueakWindowsConfig>>frameworksBuild (in category 'cmake buildType redirects') -----
+ frameworksBuild
+ 	"leave empty for all platforms but Mac OS"
+ 	^ #()!

Item was added:
+ ----- Method: SqueakWindowsConfig>>frameworksBuildAssert (in category 'cmake buildType redirects') -----
+ frameworksBuildAssert
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakWindowsConfig>>frameworksBuildAssertITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildAssertITimerHeartbeat
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakWindowsConfig>>frameworksBuildDebug (in category 'cmake buildType redirects') -----
+ frameworksBuildDebug
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakWindowsConfig>>frameworksBuildDebugITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildDebugITimerHeartbeat
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakWindowsConfig>>frameworksBuildITimerHeartbeat (in category 'cmake buildType redirects') -----
+ frameworksBuildITimerHeartbeat
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakWindowsConfig>>frameworksBuildMultiThreaded (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreaded
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakWindowsConfig>>frameworksBuildMultiThreadedAssert (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreadedAssert
+ 	^ self frameworksBuild!

Item was added:
+ ----- Method: SqueakWindowsConfig>>frameworksBuildMultiThreadedDebug (in category 'cmake buildType redirects') -----
+ frameworksBuildMultiThreadedDebug
+ 	^ self frameworksBuild!



More information about the Vm-dev mailing list