[Vm-dev] [commit][3448] Modernize the VMMaker scripts to use Squeak
5.0.
commits at squeakvm.org
commits at squeakvm.org
Fri Sep 25 18:56:45 UTC 2015
Revision: 3448
Author: eliot
Date: 2015-09-25 11:56:44 -0700 (Fri, 25 Sep 2015)
Log Message:
-----------
Modernize the VMMaker scripts to use Squeak 5.0. Move the older code to old for clarity.
Modified Paths:
--------------
branches/Cog/image/BuildSqueakSpurTrunkVMMakerImage.st
branches/Cog/image/README
branches/Cog/image/buildspurtrunk64image.sh
Added Paths:
-----------
branches/Cog/image/old/
branches/Cog/image/old/BuildSpurTrunkImage.st
branches/Cog/image/old/BuildSqueak45VMMakerImage.st
branches/Cog/image/old/BuildSqueak46CMakeVMMakerImage.st
branches/Cog/image/old/BuildSqueak46TrunkCMakeVMMakerImage.st
branches/Cog/image/old/BuildSqueakSpurTrunkVMMakerImage.st
branches/Cog/image/old/BuildSqueakStandardVMMakerImage.st
branches/Cog/image/old/BuildSqueakTrunkVMMakerImage.st
branches/Cog/image/old/CMakeVMMakerSqueak.text
branches/Cog/image/old/LoadSpurPackagesFromTempDir.st
branches/Cog/image/old/MorphFloat.st
branches/Cog/image/old/README
branches/Cog/image/old/README.buildsqueakcmakeimage
branches/Cog/image/old/UpdateSqueakTrunkImageAndMorphFloat.st
branches/Cog/image/old/WriteSpurPackagesToTempDir.st
branches/Cog/image/old/buildsqueak45vmmakerimage.sh
branches/Cog/image/old/buildsqueakcmakeimage.sh
branches/Cog/image/old/buildsqueaktrunkimage.sh
branches/Cog/image/old/buildsqueaktrunkvmmakerimage.sh
branches/Cog/image/old/ensureSqueakV41sources.sh
branches/Cog/image/old/getsqueak45.sh
branches/Cog/image/old/vmm_stack_unix_max.config
branches/Cog/image/old/vmm_stack_unix_min.config
branches/Cog/image/old/vmm_standard_unix_max.config
branches/Cog/image/old/vmm_standard_unix_min.config
Removed Paths:
-------------
branches/Cog/image/BuildSpurTrunkImage.st
branches/Cog/image/BuildSqueak45VMMakerImage.st
branches/Cog/image/BuildSqueak46CMakeVMMakerImage.st
branches/Cog/image/BuildSqueak46TrunkCMakeVMMakerImage.st
branches/Cog/image/BuildSqueakStandardVMMakerImage.st
branches/Cog/image/BuildSqueakTrunkVMMakerImage.st
branches/Cog/image/CMakeVMMakerSqueak.text
branches/Cog/image/LoadSpurPackagesFromTempDir.st
branches/Cog/image/MorphFloat.st
branches/Cog/image/README.buildsqueakcmakeimage
branches/Cog/image/UpdateSqueakTrunkImageAndMorphFloat.st
branches/Cog/image/WriteSpurPackagesToTempDir.st
branches/Cog/image/buildspurtrunkimage.sh
branches/Cog/image/buildsqueak45vmmakerimage.sh
branches/Cog/image/buildsqueakcmakeimage.sh
branches/Cog/image/buildsqueaktrunkimage.sh
branches/Cog/image/buildsqueaktrunkvmmakerimage.sh
branches/Cog/image/ensureSqueakV41sources.sh
branches/Cog/image/getsqueak45.sh
branches/Cog/image/vmm_stack_unix_max.config
branches/Cog/image/vmm_stack_unix_min.config
branches/Cog/image/vmm_standard_unix_max.config
branches/Cog/image/vmm_standard_unix_min.config
Deleted: branches/Cog/image/BuildSpurTrunkImage.st
===================================================================
--- branches/Cog/image/BuildSpurTrunkImage.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/BuildSpurTrunkImage.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,9 +0,0 @@
-| pwd |
-Utilities authorInitialsPerSe isEmpty ifTrue:
- [Utilities setAuthorInitials: 'autoboot'].
-pwd := FileDirectory default fullName.
-SpurBootstrap bootstrapSqueakImage: pwd, '/', 'trunk46forspur'.
-SpurBootstrapMonticelloPackagePatcher new
- from: 'temp-v3-repository' to: 'temp-spur-repository';
- patch.
-Smalltalk snapshot: false andQuit: true
Deleted: branches/Cog/image/BuildSqueak45VMMakerImage.st
===================================================================
--- branches/Cog/image/BuildSqueak45VMMakerImage.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/BuildSqueak45VMMakerImage.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,85 +0,0 @@
-| manifest load |
-manifest := #( ('http://source.squeak.org/FFI' 1 ('FFI-Pools' 'FFI-Kernel'))
- ('http://source.squeak.org/VMMaker' 6 ('Balloon-Engine-Pools' 'VMMaker.oscog' 'CogCompatibility' 'Cog' 'CogTools' 'ImageFormat'))
- ('http://ss3.gemstone.com/ss/MethodMassage' 3 ('MethodMassage' 'MethodMassageCompatibility'))
- ('http://www.squeaksource.com/AioPlugin' 7 ('VMConstruction-Plugins-AioPlugin'))
- ('http://www.squeaksource.com/Alien' 0 ('Alien'))
- "('http://www.squeaksource.com/FreeTypePlus' 5 ('FreeType')) can't load this. it is toxic to Squeak 4.5"
- ('http://www.squeaksource.com/FreetypePlugin' 8 ('Freetype-Plugin'))
- ('http://www.squeaksource.com/OSProcess' 4 ('OSProcess'))
- ('http://www.squeaksource.com/OSProcessPlugin' 9 ('VMConstruction-Plugins-OSProcessPlugin.oscog'))
- ('http://www.squeaksource.com/rb' 5 ('AST-Core' 'AST-Semantic' 'AST-Tests-Core' 'AST-Tests-Semantic' 'Refactoring-Changes' 'Refactoring-Core' 'Refactoring-Environment' 'Refactoring-Tests-Changes' 'Refactoring-Tests-Core' 'Refactoring-Tests-Environment'))
- ('http://www.squeaksource.com/Speech' 2 ('SharedPool-Speech' ))
- ('http://www.squeaksource.com/XDCP' 9 ('VMConstruction-Plugins-XDisplayControlPlugin' ))).
-
-load := (manifest collect:
- [:tuple|
- [:path :order :packages| | repository |
- repository := MCHttpRepository
- location: path
- user: 'squeak'
- password: 'squeak'.
- MCRepositoryGroup default addRepository: repository.
- {repository. order. packages}] valueWithArguments: tuple])
- sort: [:a :b| a second <= b second].
-
-Character instSize > 0 ifTrue:
- [#('callPrimitiveShimForV3.st') do:
- [:fileName| (FileDirectory default fileNamed: fileName) fileIn]].
-
-((MCMcmUpdater defaultUpdateURL endsWith: 'trunk')
- ifTrue:
- [#( "'FT2Constants.st'"
- 'Object-performwithwithwithwithwith.st' )]
- ifFalse:
- [#( "'FT2Constants.st'"
- 'Object-performwithwithwithwithwith.st'
- 'FileDirectory-on-methods.st'
- 'StandardFileStream-nextPutAll.st' )]
- ) do:
- [:fileName| (FileDirectory default fileNamed: fileName) fileIn].
-
-load do:
- [:tuple|
- [:repository :order :packages|
- packages do:
- [:package| | latestVersion |
- "We need to filter-out branches of unbranched packages."
- latestVersion := (repository versionNamesForPackageNamed: package) detect:
- [:versionName| (versionName at: package size + 1) = $-].
- [| version |
- version := ((MCCacheRepository default includesVersionNamed: latestVersion)
- ifTrue: [MCCacheRepository default]
- ifFalse: [repository]) versionNamed: latestVersion.
- version load.
- version workingCopy repositoryGroup addRepository: repository]
- on: Warning
- do: [:ex|
- (ex messageText beginsWith: 'This package depends on the following classes') ifFalse:
- [ex pass].
- ex resume]]]
- valueWithArguments: tuple].
-
-World findATranscript: nil.
-
-#( 'Workspace' 'VM Simulation Workspace' 'Slang Test Workspace' ) reverse do:
- [:textFileName|
- (StringHolder new contents: (FileDirectory default fileNamed: textFileName, '.text') contentsOfEntireFile)
- openLabel: textFileName].
-
-(Utilities classPool at: #CommonRequestStrings) ifNotNil:
- [:crs|
- crs contents: crs contents, '\-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser\VMClass openSpurMultiWindowBrowser' withCRs].
-
-CodeHolder useMultiWindowBrowsers: true.
-
-#('Cog' 'CogTools' 'VMMaker') do:
- [:pkg|
- (PackageInfo named: pkg) classes do:
- [:c|
- c organization sortCategories.
- c class organization sortCategories]].
-StackInterpreter withAllSubclasses do:
- [:sic| sic reorganizeAsISeeFit].
-
-Smalltalk snapshot: true andQuit: true
Deleted: branches/Cog/image/BuildSqueak46CMakeVMMakerImage.st
===================================================================
--- branches/Cog/image/BuildSqueak46CMakeVMMakerImage.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/BuildSqueak46CMakeVMMakerImage.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,69 +0,0 @@
-| manifest load |
-Scanner prefAllowUnderscoreSelectors: true.
-
-manifest := #( ('http://source.squeak.org/FFI' 1 ('FFI-Pools' 'FFI-Kernel'))
- ('http://source.squeak.org/VMMaker' 6 ('Balloon-Engine-Pools' 'VMMaker.oscog' 'Cog' 'CogTools' 'ImageFormat' 'CMakeVMMaker' 'CMakeVMMakerSqueak'))
- ('http://ss3.gemstone.com/ss/MethodMassage' 3 ('MethodMassage' 'MethodMassageCompatibility'))
- ('http://www.squeaksource.com/AioPlugin' 7 ('VMConstruction-Plugins-AioPlugin'))
- ('http://www.squeaksource.com/Alien' 0 ('Alien'))
- "('http://www.squeaksource.com/FreeTypePlus' 5 ('FreeType')) can't load this. it is toxic to Squeak 4.5"
- ('http://ss3.gemstone.com/ss/FreeTypePlus' 5 ('FreeTypeConstants' 'FreeType' 'FreeTypeTests'))
- ('http://www.squeaksource.com/FreetypePlugin' 8 ('Freetype-Plugin'))
- ('http://www.squeaksource.com/OSProcess' 4 ('OSProcess'))
- ('http://www.squeaksource.com/OSProcessPlugin' 9 ('VMConstruction-Plugins-OSProcessPlugin.oscog'))
- ('http://www.squeaksource.com/rb' 5 ('AST-Core' 'AST-Semantic' 'AST-Tests-Core' 'AST-Tests-Semantic' 'Refactoring-Changes' 'Refactoring-Core' 'Refactoring-Environment' 'Refactoring-Tests-Changes' 'Refactoring-Tests-Core' 'Refactoring-Tests-Environment'))
- ('http://www.squeaksource.com/Speech' 2 ('SharedPool-Speech' ))).
-
-load := (manifest collect:
- [:tuple|
- [:path :order :packages| | repository |
- repository := MCHttpRepository
- location: path
- user: 'squeak'
- password: 'squeak'.
- MCRepositoryGroup default addRepository: repository.
- {repository. order. packages}] valueWithArguments: tuple])
- sort: [:a :b| a second <= b second].
-
-#( 'FT2Constants.st'
- 'Object-performwithwithwithwithwith.st'
- 'CompiledMethod-usesAlternateBytecodeSet.st'
- 'FileDirectory-on-methods.st'
- ) do:
- [:fileName| (FileDirectory default fileNamed: fileName) fileIn].
-
-World findATranscript: nil.
-
-load do:
- [:tuple|
- [:repository :order :packages|
- packages do:
- [:package| | latestVersion |
- latestVersion := (repository versionNamesForPackageNamed: package) first.
- [| version |
- version := ((MCCacheRepository default includesVersionNamed: latestVersion)
- ifTrue: [MCCacheRepository default]
- ifFalse: [repository]) versionNamed: latestVersion.
- version load.
- version workingCopy repositoryGroup addRepository: repository]
- on: Warning
- do: [:ex|
- (ex messageText beginsWith: 'This package depends on the following classes') ifFalse:
- [ex pass].
- ex resume]]]
- valueWithArguments: tuple].
-
-
-VMMakerTool openInWorld.
-#( 'Workspace' 'VM Simulation Workspace' 'Slang Test Workspace' 'CMakeVMMakerSqueak') reverse do:
- [:textFileName|
- (StringHolder new contents: (FileDirectory default fileNamed: textFileName, '.text') contentsOfEntireFile)
- openLabel: textFileName].
-
-(Utilities classPool at: #CommonRequestStrings) ifNotNil:
- [:crs|
- crs contents: crs contents, '\-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser' withCRs].
-
-CodeHolder useMultiWindowBrowsers: true.
-
-Smalltalk snapshot: true andQuit: true
Deleted: branches/Cog/image/BuildSqueak46TrunkCMakeVMMakerImage.st
===================================================================
--- branches/Cog/image/BuildSqueak46TrunkCMakeVMMakerImage.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/BuildSqueak46TrunkCMakeVMMakerImage.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,7 +0,0 @@
-"Change the update stream to trunk, update, then build as per 4.5"
-[MCMcmUpdater
- defaultUpdateURL: 'http://source.squeak.org/trunk';
- updateFromServer] valueSupplyingAnswer: true.
-
-"don't use fileIn; it causes an error when the saved image is started"
-Compiler evaluate: (FileStream oldFileNamed: 'BuildSqueak46CMakeVMMakerImage.st') contentsOfEntireFile
Modified: branches/Cog/image/BuildSqueakSpurTrunkVMMakerImage.st
===================================================================
--- branches/Cog/image/BuildSqueakSpurTrunkVMMakerImage.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/BuildSqueakSpurTrunkVMMakerImage.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -23,10 +23,6 @@
{repository. order. packages}] valueWithArguments: tuple])
sort: [:a :b| a second <= b second].
-Character instSize > 0 ifTrue:
- [#('callPrimitiveShimForV3.st') do:
- [:fileName| (FileDirectory default fileNamed: fileName) fileIn]].
-
#( "'FT2Constants.st'"
'Object-performwithwithwithwithwith.st' ) do:
[:fileName| (FileDirectory default fileNamed: fileName) fileIn].
Deleted: branches/Cog/image/BuildSqueakStandardVMMakerImage.st
===================================================================
--- branches/Cog/image/BuildSqueakStandardVMMakerImage.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/BuildSqueakStandardVMMakerImage.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,57 +0,0 @@
-| manifest load |
-manifest := #(('http://source.squeak.org/VMMaker' 1 ( 'update'))).
-
-load := (manifest collect:
- [:tuple|
- [:path :order :packages| | repository |
- repository := MCHttpRepository
- location: path
- user: 'squeak'
- password: 'squeak'.
- MCRepositoryGroup default addRepository: repository.
- {repository. order. packages}] valueWithArguments: tuple])
- sort: [:a :b| a second <= b second].
-
-#( 'FT2Constants.st'
- 'Object-performwithwithwithwithwith.st'
- 'CompiledMethod-usesAlternateBytecodeSet.st'
- 'FileDirectory-on-methods.st'
- ) do:
- [:fileName| (FileDirectory default fileNamed: fileName) fileIn].
-
-
-
-load do:
- [:tuple|
- [:repository :order :packages|
- packages do:
- [:package| | latestVersion |
- latestVersion := (repository versionNamesForPackageNamed: package) first.
- [| version |
- version := ((MCCacheRepository default includesVersionNamed: latestVersion)
- ifTrue: [MCCacheRepository default]
- ifFalse: [repository]) versionNamed: latestVersion.
- version load.
- ]
- on: Warning
- do: [:ex|
- (ex messageText beginsWith: 'This package depends on the following classes') ifFalse:
- [ex pass].
- ex resume]]]
- valueWithArguments: tuple].
-
-World findATranscript: nil.
-VMMakerTool openInWorld.
-
-#( 'VMMakerTool') reverse do:
- [:textFileName|
- (StringHolder new contents: (FileDirectory default fileNamed: textFileName, '.text') contentsOfEntireFile)
- openLabel: textFileName].
-
-(Utilities classPool at: #CommonRequestStrings) ifNotNil:
- [:crs|
- crs contents: crs contents, '\-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser' withCRs].
-
-CodeHolder useMultiWindowBrowsers: true.
-
-Smalltalk snapshot: true andQuit: true
Deleted: branches/Cog/image/BuildSqueakTrunkVMMakerImage.st
===================================================================
--- branches/Cog/image/BuildSqueakTrunkVMMakerImage.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/BuildSqueakTrunkVMMakerImage.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,7 +0,0 @@
-"Change the update stream to trunk, update, then build as per 4.5"
-[MCMcmUpdater
- defaultUpdateURL: 'http://source.squeak.org/trunk';
- updateFromServer] valueSupplyingAnswer: true.
-
-"don't use fileIn; it causes an error when the saved image is started"
-Compiler evaluate: (FileStream oldFileNamed: 'BuildSqueak45VMMakerImage.st') contentsOfEntireFile
Deleted: branches/Cog/image/CMakeVMMakerSqueak.text
===================================================================
--- branches/Cog/image/CMakeVMMakerSqueak.text 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/CMakeVMMakerSqueak.text 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,118 +0,0 @@
--------------------------Cog VM Configurations using a builder-------------------------
-
-SqueakCogMTBuilder buildUnix32.
-SqueakCogMTBuilder buildMacOSX32.
-SqueakCogMTBuilder buildWin32
-
-
--------------------------Cog VM Configurations-------------------------
-
-SqueakCogMTUnixConfig generateWithSources.
-SqueakCogMTUnixConfig generate.
-
-SqueakCogOnDebian64Config generateWithSources
-SqueakCogOnDebian64Config generate
-
-SqueakCogUnixDebugConfig generateWithSources
-SqueakCogUnixDebugConfig generate
-
-SqueakCogUnixNoGLConfig generateWithSources.
-SqueakCogUnixNoGLConfig generate
-
-
--------------------------Stack VM Configurations using a builder-------------------------
-SqueakStackVMBuilder buildSlackwareUnix64w32Libs
-SqueakStackVMBuilder buildSlackwareUnix64w32LibsNoGL
-
-
--------------------------Stack VM configurations-------------------------
-SqueakStackCrossRaspbianConfig generateWithSources
-SqueakStackCrossRaspbianConfig generate
-
-SqueakStackRaspbianFastBltConfig generateWithSources
-SqueakStackCrossRaspbianFastBltConfig generate
-
-
-SqueakStackRaspbianConfig generateWithSources
-SqueakStackRaspbianConfig generate
-
-
-SqueakStackRaspbianFastBltConfig generateWithSources
-SqueakStackRaspbianFastBltConfig generate
-
-
-SqueakStackUnixDebugConfig generateWithSources
-SqueakStackUnixDebugConfig generate
-
-SqueakStackEvtAndroidConfig generate ""
-
-
--------------------------BSD configs-------------------------
-SqueakCogFreeBSDConfig generateWithSources
-
-
--------------------------SunOS configs-------------------------
-SqueakCogFreeBSDConfig generateWithSources
-
-
-
--------------------------MacOS Configurations-------------------------
-
-SqueakCogMacOSConfig generateWithSources.
-SqueakCogMacOSConfig generate.
-
-SqueakCogMacOSDebugConfig generateWithSources.
-SqueakCogMacOSDebugConfig generate.
-
-
-SqueakCogMTMacOSConfig generateWithSources.
-SqueakCogMTMacOSConfig generate.
-
-
-SqueakStackMacOSConfig generateWithSources.
-SqueakStackMacOSConfig generate.
-
-
-SqueakStackMacOSDebugConfig generateWithSources.
-SqueakStackMacOSDebugConfig generate.
-
-
--------------------------IOS Configurations-------------------------
-
-
-SqueakCogCocoaIOSConfig generateWithSources
-SqueakCogCocoaIOSConfig generate
-
-SqueakCogMTCocoaIOSConfig generateWithSources
-SqueakCogMTCocoaIOSConfig generate
-
-
-SqueakStackCocoaIOSConfig generateWithSources
-SqueakStackCocoaIOSConfig generate
-
-
-SqueakStackCocoaIOSCLANGConfig generateWithSources
-SqueakStackCocoaIOSCLANGConfig generate
-
-SqueakStackIPhoneConfig generateWithSources
-SqueakStackIPhoneConfig generate
-
-
-SqueakStackIPhoneSimulatorConfig generateWithSources
-SqueakStackIPhoneSimulatorConfig generate
-
--------------------------Windows configs-------------------------
-SqueakCogWindowsConfig generateWithSources
-SqueakCogWindowsConfig generate.
-
-
-SqueakCogMTWindowsConfig generateWithSources
-SqueakCogMTWindowsConfig generate
-
-
-SqueakCogWindowsDebugConfig generateWithSources.
-SqueakCogWindowsDebugConfig generate.
-
-SqueakStackWindowsConfig generateWithSources
-SqueakStackWindowsConfig generate
-
Deleted: branches/Cog/image/LoadSpurPackagesFromTempDir.st
===================================================================
--- branches/Cog/image/LoadSpurPackagesFromTempDir.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/LoadSpurPackagesFromTempDir.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,17 +0,0 @@
-| dir tempRepo |
-dir := FileDirectory default directoryNamed: 'temp-spur-repository'.
-tempRepo := MCDirectoryRepository path: dir fullName.
-"I dug a deep hole with the compiler changes here. This hack gets me out."
-EncoderForV3 removeSelector: #computeMethodHeaderForNumArgs:numTemps:numLits:primitive:.
-#('Collections' 'Compiler' 'Kernel' 'System') do:
- [:package| | versionName version |
- versionName := (tempRepo versionNamesForPackageNamed: package) first.
- version := tempRepo versionNamed: versionName.
- [version load]
- on: Error
- do: [:ex|
- "ugh, the Decompiler gets confused by the null bytes at the end of e.g. Character>>setValue:. Hack it for now"
- ex signalerContext sender method = (Decompiler>>#decompile:in:method:using:) ifTrue:
- [ex resumeUnchecked: nil].
- ex pass]].
-Smalltalk snapshot: true andQuit: true
Deleted: branches/Cog/image/MorphFloat.st
===================================================================
--- branches/Cog/image/MorphFloat.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/MorphFloat.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,131 +0,0 @@
-SystemChangeNotifier uniqueInstance doSilently:
- [| boxedFloat floatClassVars soonToBeFloat smallFloat |
- boxedFloat := Float.
- floatClassVars := Float classVariablesString.
- soonToBeFloat := Number subclass: #SoonToBeFloat
- instanceVariableNames: ''
- classVariableNames: ''
- poolDictionaries: ''
- category: 'Kernel-Numbers'.
- smallFloat := soonToBeFloat subclass: #SmallFloat64
- instanceVariableNames: ''
- classVariableNames: ''
- poolDictionaries: ''
- category: 'Kernel-Numbers'.
- '!!SoonToBeFloat class methodsFor: ''instance creation'' stamp: ''eem 11/25/2014 07:54''!!
-basicNew
- ^Float basicNew: 2!! !!
-!!SoonToBeFloat class methodsFor: ''instance creation'' stamp: ''eem 11/25/2014 07:54''!!
-basicNew: anInteger
- ^Float basicNew: 2!! !!' readStream fileIn.
-
- [soonToBeFloat variableWordSubclass: #Float
- instanceVariableNames: ''
- classVariableNames: floatClassVars
- poolDictionaries: ''
- category: 'Kernel-Numbers']
- on: Error, Warning
- do: [:ex|
- Transcript cr; nextPutAll: ex messageText; flush.
- ex isResumable ifFalse:
- [Notification adoptInstance: ex].
- ex resume: true].
- soonToBeFloat classPool: Float classPool.
- Float classPool: nil.
- soonToBeFloat
- comment: Float comment asString
- stamp: Float organization commentStamp.
- Float class selectors do:
- [:s|
- (soonToBeFloat class includesSelector: s) ifFalse:
- [soonToBeFloat class recompile: s from: Float class.
- soonToBeFloat class organization
- classify: s
- under: (Float class organization categoryOfElement: s)]].
-
- (Float selectors reject: [:s| (Float >> s) primitive between: 40 and: 59]) do:
- [:s|
- soonToBeFloat recompile: s from: Float.
- soonToBeFloat organization
- classify: s
- under: (Float organization categoryOfElement: s).
- Float removeSelector: s].
- [boxedFloat setName: #BoxedFloat64.
- boxedFloat environment renameClass: Float from: #Float.
- soonToBeFloat setName: #Float.
- soonToBeFloat environment renameClass: soonToBeFloat from: #SoonToBeFloat]
- on: AttemptToWriteReadOnlyGlobal
- do: [:ex| ex resume: true].
-
- '!!Float class methodsFor: ''instance creation'' stamp: ''eem 11/25/2014 07:54''!!
-basicNew
- ^BoxedFloat64 basicNew: 2!! !!
-
-!!Float class methodsFor: ''instance creation'' stamp: ''eem 11/25/2014 07:54''!!
-basicNew: anInteger
- ^BoxedFloat64 basicNew: 2!! !!
-!!BoxedFloat64 class methodsFor: ''instance creation'' stamp: ''eem 11/25/2014 07:54''!!
-basicNew: sizeRequested
- "Primitive. Answer an instance of this class with the number
- of indexable variables specified by the argument, sizeRequested.
- Fail if this class is not indexable or if the argument is not a
- positive Integer, or if there is not enough memory available.
- Essential. See Object documentation whatIsAPrimitive."
-
- <primitive: 71>
- sizeRequested isInteger ifTrue:
- [^sizeRequested = 2
- ifTrue: "arg okay; space must be low."
- [OutOfMemory signal.
- self basicNew: sizeRequested] "retry if user proceeds"
- ifFalse:
- [self error: ''a Float shall always have two slots'']].
- self primitiveFailed!! !!
-
-!!SmallFloat64 class methodsFor: ''instance creation'' stamp: ''eem 11/25/2014 07:54''!!
-basicNew: anInteger
- ^self basicNew!! !!
-!!SmallFloat64 class methodsFor: ''instance creation'' stamp: ''eem 11/25/2014 07:54''!!
-basicNew
- self error: ''SmallFloat64s can only be created by performing arithmetic''!! !!' readStream fileIn.
-
- boxedFloat class selectors do:
- [:s|
- ((#(basicNew basicNew:) includes: s) not
- and: [soonToBeFloat class includesSelector: s]) ifTrue:
- [boxedFloat class removeSelector: s]].
-
- {boxedFloat. boxedFloat class. Float. Float class} do:
- [:bfc| | binding |
- binding := bfc binding.
- bfc selectorsAndMethodsDo:
- [:s :m|
- m methodClassAssociation: binding].
- bfc organization removeEmptyCategories; sortCategories].
- "shrink method dictionaries after removals; rehash does not shrink :-("
- {boxedFloat. boxedFloat class} do:
- [:bfc| | nmd |
- nmd := MethodDictionary new.
- bfc selectorsAndMethodsDo:
- [:s :m| nmd at: s put: m].
- bfc methodDict: nmd].
-
- "Compile the SmallFloat64 primitives.
- These have primitive number 500 + the corresponding boxed primitive number"
- boxedFloat selectors do:
- [:s| | code |
- code := (boxedFloat sourceCodeAt: s) asString.
- code := code copyReplaceAll: '<primitive: ' with: '<primitive: 5'.
- smallFloat
- compile: code
- classified: (boxedFloat organization categoryOfElement: s)
- withStamp: 'eem 11/25/2014 07:54'
- notifying: nil].
- smallFloat organization sortCategories.
-
- boxedFloat comment: 'My instances hold 64-bit Floats in heap objects. This is the only representation on 32-bit systems. But on 64-bit systems SmallFloat64 holds a subset of the full 64-bit double-precision range in immediate objects.'
- stamp: 'eem 11/25/2014 07:54'.
- smallFloat comment: 'My instances represent 64-bit Floats whose exponent fits in 8 bits as immediate objects. This representation is only available on 64-bit systems, not 32-bit systems.'
- stamp: 'eem 11/25/2014 07:54'.
-
- Undeclared removeUnreferencedKeys]
Modified: branches/Cog/image/README
===================================================================
--- branches/Cog/image/README 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/README 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,12 +1,8 @@
-This directory contains scripts that can buld various VMMaker and Spur images.
-As of early 2015 the default VMMaker build script is
+This directory contains scripts that can build various VMMaker and Spur images.
+As of late 2015 the default VMMaker build script is
buildspurtrunkvmmakerimage.sh
and it builds a Spur VMMaker image, called SpurVMMaker.image.
The buildspurtrunkreader.sh script builds a Spur image containing a simple REPL
that is convenient for testing in the simulator, called spurreader.image.
-The standard Cog VMMaker image is built loading the latest VMMaker.oscog and Cog
-packages, plus support packages, into an updated Squeak Spur trunk image.
-Once you start-up the image various workspaces contain useful expressions to
-run the simulator, test slang output and so on. The "do..." menu off the main
-screen menu also contains expressions to generate VM sources.
+buildspurtrunk64image.sh takes a Spur 32-bit image and morphs it into a 64-bit image.
Deleted: branches/Cog/image/README.buildsqueakcmakeimage
===================================================================
--- branches/Cog/image/README.buildsqueakcmakeimage 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/README.buildsqueakcmakeimage 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,47 +0,0 @@
-buildsqueakcmakeimage.sh is a newbie friendly script that downloads and configures either a Cog VMMaker image or a StandardVMMaker image that is completely configured for the end user to get productive quickly.
-While the image is set up for CMake, the existing GNU build infrastructure is maintained.
-
-If by chance you have not already done so,
-
-svn co http://www.squeakvm.org/svn/squeak/branches/Cog will download the source tree containing this file; it exists as Cog/image/README.buildsqueakcmakimage
-
-Requirements to run the script are:
-
-svn
-wget
-zip
-rsync
-
-
-From withing the COG/image directory run buildsqueakcmakeimage.sh (buildsqueakcmakeimage.sh -h for usage)
-
-For Cog installation, the script then
- downloads the appropriate squeak platform and creates CogVMMaker.image/changes and StandardVMMaker.image/changes for the Cog and Standard Interpreter respectively
- installs the necessary Smalltalk classes on both images.
- rsyncs the parent Cog directory as a sub-tree of the Squeak installation for use by CogVMMaker.image to an appropriate subdirectory for the version of Squeak.
- The rsynced copy of the Cog svn source is then populated with a parallel cmake_xyzbuild tree where the cmake build artifacts are installed (without breaking the existing gnu build stuff)
-
-
-To view/run your cog build system change directory to Cog/image/cogVMMaker/Squeak---.app/ and run squeakCogVMMaker.sh
-The source and build directories are in Cog/image/cogVMMaker/Squeak---.app/Contents/Resources/oscogvm/
-The cmake specific build directories are created by the script and are prefaces with 'cmake_'. This was done to avoid cluttering the existing GNU build system.
-After generating your build, change directory to your build directory (example: cd oscogvm/cmake_stackbuild/unixbuild/bld/) and invoke build.sh to launch cmake.
-
-After compilation, output files are stored in oscogvm/results
-
-
-
-
-When the Standard Interpreter, no special build tree is created. The system is just set up for use as-is described at http://wiki.squeak.org/squeak/6177
-to view/run your standard build system cd to Cog/image/standardVMMaker/
-
-
-
-
-
-
-
-
-
-
-
Deleted: branches/Cog/image/UpdateSqueakTrunkImageAndMorphFloat.st
===================================================================
--- branches/Cog/image/UpdateSqueakTrunkImageAndMorphFloat.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/UpdateSqueakTrunkImageAndMorphFloat.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,8 +0,0 @@
-"Change the update stream to trunk, update, then build as per 4.5"
-[MCMcmUpdater
- defaultUpdateURL: 'http://source.squeak.org/trunk';
- updateFromServer] valueSupplyingAnswer: true.
-
-(FileStream oldFileNamed: 'MorphFloat.st') fileIn.
-
-Smalltalk snapshot: true andQuit: true
Deleted: branches/Cog/image/WriteSpurPackagesToTempDir.st
===================================================================
--- branches/Cog/image/WriteSpurPackagesToTempDir.st 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/WriteSpurPackagesToTempDir.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,11 +0,0 @@
-| dir tempRepo trunkRepo |
-dir := FileDirectory default directoryNamed: 'temp-v3-repository'.
-dir assureExistence.
-tempRepo := MCDirectoryRepository path: dir fullName.
-trunkRepo := MCRepositoryGroup default repositories detect:[:r| r description = 'http://source.squeak.org/trunk'].
-#('Collections' 'Compiler' 'Kernel' 'System') do:
- [:package| | currentVersion |
- currentVersion := (MCPackage named: package) workingCopy ancestry ancestors first versionName.
- tempRepo storeVersion: (trunkRepo versionNamed: currentVersion, '.mcz')].
-
-Smalltalk snapshot: false andQuit: true
Modified: branches/Cog/image/buildspurtrunk64image.sh
===================================================================
--- branches/Cog/image/buildspurtrunk64image.sh 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/buildspurtrunk64image.sh 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,12 +1,9 @@
#!/bin/sh
. ./envvars.sh
-./buildspurtrunkvmmakerimage.sh
+test -f SpurVMMaker.image || ./buildspurtrunkvmmakerimage.sh
. ./getGoodSpurVM.sh
-echo $VM SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st
-$VM SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st
-
echo $VM SpurVMMaker.image BuildSpurTrunk64Image.st
$VM SpurVMMaker.image BuildSpurTrunk64Image.st
Deleted: branches/Cog/image/buildspurtrunkimage.sh
===================================================================
--- branches/Cog/image/buildspurtrunkimage.sh 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/buildspurtrunkimage.sh 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,9 +0,0 @@
-#!/bin/sh
-. ./envvars.sh
-./getsqueak50.sh
-. ./getGoodSpurVM.sh
-
-echo $VM -blockonerror trunk50.image LoadSpurPackages.st
-$VM -blockonerror trunk50.image LoadSpurPackages.st
-
-./resizesqueakwindow.sh trunk50.image 800 600
Deleted: branches/Cog/image/buildsqueak45vmmakerimage.sh
===================================================================
--- branches/Cog/image/buildsqueak45vmmakerimage.sh 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/buildsqueak45vmmakerimage.sh 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,14 +0,0 @@
-#!/bin/bash
-. ./envvars.sh
-./getsqueak45.sh
-. ./getGoodCogVM.sh
-
-cp -p $SQUEAK45.image CogVMMaker.image
-cp -p $SQUEAK45.changes CogVMMaker.changes
-
-if [ "$OS" = Linux -a "$CPU" = x86_64 ]; then
- echo Running 32-bit Squeak on a 64-bit System. Hope the 32-bit runtime libraries are installed ...
-fi
-
-echo exec "$VM" CogVMMaker.image BuildSqueak45VMMakerImage.st
-exec "$VM" CogVMMaker.image BuildSqueak45VMMakerImage.st
Deleted: branches/Cog/image/buildsqueakcmakeimage.sh
===================================================================
--- branches/Cog/image/buildsqueakcmakeimage.sh 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/buildsqueakcmakeimage.sh 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,484 +0,0 @@
-#!/bin/bash -x
-. ./envvars.sh
-
-# Author tty.
-# 2014-05-01
-# This script downloads and configur
-#Overview of script flow assuming version 4.5
-# parse options
-# case statement on -v option
-# clean_source_tree (not used until migration to cmake is complete and GNU-B-GONE
-# create_cmake_source_tree
-# get_four_five
-# launch_and_configure_four_five
-# run_four_five
-#
-# 4.6 follows same flow.
-# adding new versions should be evident
-
-
-
-#begin function declarations
-
-show_help() {
-cat << EOF
-Usage: ${0##*/} [-b] [-h] [-s VERSION] [-t TRUNK] [-v VERSION]
-Download and configure a Squeak image configured for Cog and/or Standard VM building. load either stable or trunk classes.
-
- -b Both Cog Interpreter configuration and Standard Interpreter configuration on latest stable branch
- -c VERSION Cog Interpreter configuration on squeak VERSION
- -h display this help and exit
- -s VERSION Standard Interpreter configuration on squeak VERSION
- -t Monticello source is trunk (2014-05-05 only 4.5 supported and is ignored otherwise)
-
-
-
-Example: ./buildsqueakcmakeimage -b (configure BOTH Squeak 4.6 for CMake VMMaker.oscog and configure an additional Standard Intepreter VMMaker on 4.6)
- ./buildsqueakcmakeimage -c 4.5 (configure Squeak 4.5 for CMake VMMaker.oscog)
- ./buildsqueakcmakeimage -c 4.5 -t (configure Squeak 4.5 for CMake VMMaker.oscog. Monticello source is trunk)
- ./buildsqueakcmakeimage -c 4.6 (configure Squeak 4.6 for CMake VMMaker.oscog)
- ./buildsqueakcmakeimage -s 4.5 (configure Squeak 4.5 for CMake VMMaker)
- ./buildsqueakcmakeimage -s 4.6 (configure Squeak 4.6 for CMake VMMaker)
- ./buildsqueakcmakeimage -c 4.6 -s (same as cmakeify -b )
-
-SEE: README.buildsqueakcmakeimage for details of this script.
-EOF
-
-}
-
-check_required(){
- wget --help >/dev/null || (echo 'could not find wget. you can find instructions on how to install it on google.' 1>&2; exit 1)
- unzip --help >/dev/null || (echo 'could not find unzip. you can find instructions on how to install it on google.' 1>&2; exit 1)
- rsync --help >/dev/null || (echo 'could not find rsync. you can find instructions on how to install it on google.' 1>&2; exit 1)
- sed --help >/dev/null || (echo 'could not find sed. you can find instructions on how to install it on google.' 1>&2; exit 1)
-}
-
-#create a parallel build tree for cmake
-create_cmake_source_tree(){
-
- echo $1
- cd $1
- cp -Rv cygwinbuild cmake_cygwinbuild
- cp -Rv macbuild cmake_macbuild
- cp -Rv nsbuild cmake_nsbuild
- cp -Rv nscogbuild cmake_nscogbuild
- cp -Rv nsspurcogbuild cmake_nsspurcogbuild
- cp -Rv nsspurstackbuild cmake_nsspurstackbuild
- cp -Rv sistamacbuild cmake_sistamacbuild
- cp -Rv spurcogbuild cmake_spurcogbuild
- cp -Rv spursistamacbuild cmake_spursistamacbuild
- cp -Rv spurstackbuild cmake_spurstackbuild
- cp -Rv stackbuild cmake_stackbuild
- cp -Rv unixbuild cmake_unixbuild
-
- find ./cmake_* -type f -name "mvm" -exec rm -f {} \;
- find ./cmake_* -type f -name "HowToBuild" -exec rm -f {} \;
-
- cd -
-}
-
-clean_source_tree(){
-echo $1
- cd $1
-
- find ./ -type f -name "ChangeLog" -exec rm -f {} \;
- find ./ -type f -name "Makefile*" -exec rm -f {} \;
- find ./ -type f -name "*README *" -exec rm -f {} \;
- find ./ -type f -name "make*" -exec rm -f {} \;
- find ./ -type f -name "mk*" -exec rm -f {} \;
- find ./ -type f -name "mvm" -exec rm -f {} \;
- find ./ -type f -name "plugins.int" -exec rm -f {} \;
- find ./ -type f -name "plugins.ext" -exec rm -f {} \;
- find ./ -type f -name "examplePlugins.*" -exec rm -f {} \;
- find ./ -type f -name "HowToBuild" -exec rm -f {} \;
-
- find ./ -type f -name "*.bat" -exec rm -f {} \;
- find ./ -type f -name "*.~" -exec rm -f {} \;
- find ./ -type f -name "*.config" -exec rm -f {} \;
- find ./ -type f -name "*.gz" -exec rm -f {} \;
- find ./ -type f -name "*.in" -exec rm -f {} \;
- find ./ -type f -name "*.lproj" -exec rm -f {} \;
- find ./ -type f -name "*.manifest" -exec rm -f {} \;
- find ./ -type f -name "*.pch" -exec rm -f {} \;
- find ./ -type f -name "*.rc" -exec rm -f {} \;
- find ./ -type f \( -iname "*.sh" ! -iname "buildsqueaktrunkimage.sh" \) -exec rm -f {} \; #rm .sh files except this one! (:
- find ./ -type d -name "*.xcodeproj" -exec rm -Rf {} \;
- find ./ -type d -name "*.lproj" -exec rm -Rf {} \;
-echo $1
- cd -
-}
-
-fourty_two(){
-echo 'Answer to the Ultimate Question of Life, the Universe, and Everything'
-exit
-}
-
-
-get_four_five(){
-
- cd $COGINSTALLDIRECTORY
-
- check_required
-
- ./getsqueak45.sh
-
- cp -p $SQUEAK45.image $SQUEAK45RESOURCES/CogVMMaker.image
- cp -p $SQUEAK45.changes $SQUEAK45RESOURCES/CogVMMaker.changes
-
- cd -
-}
-
-launch_and_configure_four_five(){ #copy-n-paste-n-mangle from Bert's squeak.sh
-
- case $OS in
- BSD) SQUEAK45VM="$COGINSTALLDIRECTORY/$SQUEAK45APP/Contents/MacOS/Squeak";;
- Darwin) SQUEAK45VM="$COGINSTALLDIRECTORY/$SQUEAK45APP/Contents/MacOS/Squeak";;
- SOLARIS*) SQUEAK45VM="$COGINSTALLDIRECTORY/$SQUEAK45APP/Contents/MacOS/Squeak";;
- CYGWIN*) SQUEAK45VM="$COGINSTALLDIRECTORY/$SQUEAK45APP/SqueakConsole.exe";;
- Linux) if [ "$CPU" = x86_64 ]; then
- CPU=i686
- echo Running 32-bit Squeak on a 64-bit System. Hope the 32-bit runtime libraries are installed ...
- fi
- SQUEAK45VM="$COGINSTALLDIRECTORY/$SQUEAK45APP/Contents/$OS-$CPU/bin/squeak";;
- *) echo "don't know how to run Squeak on your system. bailing out." 1>&2; exit 2
- esac
-
- if [ "$TRUNK" = true ]; then
- SCRIPT="$APP/BuildSqueak45TrunkCMakeVMMakerImage.st"
- else
- SCRIPT="$APP/BuildSqueak45CMakeVMMakerImage.st"
- fi
-
- if [ "$CPU" = x86_64 ] ; then
- CPU=i686
- fi
-
- showerror() {
- if [ -n "$DISPLAY" -a -x "`which kdialog 2>/dev/null`" ]; then
- kdialog --error "$1"
- elif [ -n "$DISPLAY" -a -x "`which zenity 2>/dev/null`" ]; then
- zenity --error --text "$1"
- else
- dialog --msgbox "$1" 0 0
- fi
- }
-
- if [ ! -x "$SQUEAK45VM" ] ; then
- if [ ! -r "$SQUEAK45VM" ] ; then
- showerror "This Squeak version does not support $OS-$CPU"
- else
- showerror "Squeak does not have permissions to execute"
- fi
- fi
-
-
- rsync -av --progress ../* $COGINSTALLDIRECTORY/$SQUEAK45RESOURCES/oscogvm --exclude $PWD #copy Cog source tree (minus this directory) to standard dir and remove GNU build artefacts
-
- cd $COGINSTALLDIRECTORY/$SQUEAK45RESOURCES
- ln -s oscogvm/platforms platforms #<--needed for VMMakerTool
- cd -
-
-# clean_source_tree $COGINSTALLDIRECTORY/$SQUEAK45RESOURCES/oscogvm
- create_cmake_source_tree $COGINSTALLDIRECTORY/$SQUEAK45RESOURCES/oscogvm
-
- cp $COGINSTALLDIRECTORY/$SQUEAK45APP/squeak.sh $COGINSTALLDIRECTORY/$SQUEAK45APP/squeakCogVMMaker.sh #create a shell script that launches our CogVMMaker.image
- sed -i -e "s/$SQUEAK45IMAGE/$COGIMAGE/g" $COGINSTALLDIRECTORY/$SQUEAK45APP/squeakCogVMMaker.sh
-
-
- cp -p *.text $COGINSTALLDIRECTORY/$SQUEAK45RESOURCES #Workspaces with helpful text
- cp -p *.config $COGINSTALLDIRECTORY/$SQUEAK45RESOURCES #VMMakerTool configuration files
- cp -p *.st $COGINSTALLDIRECTORY/$SQUEAK45RESOURCES #Smalltalk
-
- "$SQUEAK45VM" "$COGINSTALLDIRECTORY/$SQUEAK45RESOURCES/$COGIMAGE" "$SCRIPT"
-
-}
-
-get_four_five_standard_vm(){
-
-
- cd $STANDARDINSTALLDIRECTORY
-
- check_required
- ./getsqueak45.sh
-
- cp -p $SQUEAK45.image $SQUEAK45RESOURCES/StandardVMMaker.image
- cp -p $SQUEAK45.changes $SQUEAK45RESOURCES/StandardVMMaker.changes
-
-# cp -R ~/trunk $SQUEAK45RESOURCES #<--script development timesaver. use cp instead of svn
- svn co http://squeakvm.org/svn/squeak/trunk $SQUEAK45RESOURCES/trunk
-
- if [ -h $SQUEAK45RESOURCES/platforms ]; then
- rm -f $SQUEAK45RESOURCES/platforms
- fi
- cd $SQUEAK45RESOURCES
- ln -s trunk/platforms platforms #<--needed for VMMakerTool
- mkdir build
- cd -
-
- cd ../
-
-}
-
-launch_and_configure_four_five_standard(){
-#echo 'http://wiki.squeak.org/squeak/6177'
- case $OS in
- BSD) SQUEAK45VM="$STANDARDINSTALLDIRECTORY/$SQUEAK45APP/Contents/MacOS/Squeak";;
- Darwin) SQUEAK45VM="$STANDARDINSTALLDIRECTORY/$SQUEAK45APP/Contents/MacOS/Squeak";;
- SOLARIS*) SQUEAK45VM="$STANDARDINSTALLDIRECTORY/$SQUEAK45APP/Contents/MacOS/Squeak";;
- CYGWIN*) SQUEAK45VM="$STANDARDINSTALLDIRECTORY/$SQUEAK45APP/SqueakConsole.exe";;
- Linux) if [ "$CPU" = x86_64 ]; then
- CPU=i686
- echo Running 32-bit Squeak on a 64-bit System. Hope the 32-bit runtime libraries are installed ...
- fi
- SQUEAK45VM="$STANDARDINSTALLDIRECTORY/$SQUEAK45APP/Contents/$OS-$CPU/bin/squeak";;
- *) echo "don't know how to run Squeak on your system. bailing out." 1>&2; exit 2
- esac
- SCRIPT="$APP/BuildSqueakStandardVMMakerImage.st"
-
-
- cp $STANDARDINSTALLDIRECTORY/$SQUEAK45APP/squeak.sh $STANDARDINSTALLDIRECTORY/$SQUEAK45APP/squeakStandardVMMaker.sh #create a shell script that launches our CogVMMaker.image
- sed -i -e "s/$SQUEAK45IMAGE/$STANDARDIMAGE/g" $STANDARDINSTALLDIRECTORY/$SQUEAK45APP/squeakStandardVMMaker.sh
-
- rm -f $STANDARDINSTALLDIRECTORY/$SQUEAK45APP/squeakCogVMMaker.sh #if we copied Squeak from the cogVMMaker directory, remove the cog launch script
-
-
- cp -p *.text $STANDARDINSTALLDIRECTORY/$SQUEAK45RESOURCES #Workspaces with helpful text
- cp -p *.config $STANDARDINSTALLDIRECTORY/$SQUEAK45RESOURCES #VMMakerTool configuration files
- cp -p BuildSqueakStandardVMMakerImage.st $STANDARDINSTALLDIRECTORY/$SQUEAK45RESOURCES #Smalltalk
-
- "$SQUEAK45VM" "$STANDARDINSTALLDIRECTORY/$SQUEAK45RESOURCES/$STANDARDIMAGE" "$SCRIPT"
-
-}
-## 4.6 is not an all-in-one as of 2014-04-30 therefore, we need a cog vm
-get_four_six(){
-
- cd $COGINSTALLDIRECTORY
-
- check_required
-
- case $OS in #TODO windows mac etc
- Linux)
-
- wget -c http://www.mirandabanda.org/files/Cog/VM/VM.r2776/coglinux-13.33.2776.tgz #TODO <--do I need to generalize this?
- tar -xf coglinux-13.33.2776.tgz
- rm -f coglinux-13.33.2776.tgz
-
- wget -c ftp.squeak.org/4.6alpha/$SQUEAK46ZIP
- unzip $SQUEAK46ZIP -d $COGLINUX
- rm $SQUEAK46ZIP
-
- cd $COGLINUX
- cp -p $SQUEAK46.image CogVMMaker.image
- cp -p $SQUEAK46.changes CogVMMaker.changes
-
- cd ../
-
- ;;
- *) echo "No Cog found. bailing out." 1>&2; exit 2
- esac
-
- cd ../
-}
-
-
-launch_and_configure_four_six(){
-
- cp -p BuildSqueak46CMake* $COGINSTALLDIRECTORY/coglinux
- cp -p *.text $COGINSTALLDIRECTORY/coglinux
- cp -p *.config $COGINSTALLDIRECTORY/coglinux
-
- rsync -avq --progress ../* $COGINSTALLDIRECTORY/coglinux/oscogvm --exclude $PWD #copy Cog source tree (minus this directory) to standard dir and remove GNU build artefacts
-
-# clean_source_tree $COGINSTALLDIRECTORY/$SQUEAK45RESOURCES/oscogvm
- create_cmake_source_tree $COGINSTALLDIRECTORY/$COGLINUX/oscogvm
-
-
- cd $COGINSTALLDIRECTORY/$COGLINUX
- ln -s oscogvm/platforms platforms #<--needed for VMMakerTool
- ./squeak CogVMMaker.image BuildSqueak46CMakeVMMakerImage.st
- cd -
-
- cd ../
-}
-
-
-get_four_six_standard_vm(){
-
-
-
- cd $STANDARDINSTALLDIRECTORY
-
- check_required
-
- if [ -d ../$COGINSTALLDIRECTORY ]; then # if it exists copy the cog stuff over for reuse and clean it up otherwise downaload via svn
- cp -R ../$COGINSTALLDIRECTORY/$COGLINUX ./
- rm -f $COGLINUX/CogVMMaker.*
- rm -f $COGLINUX/squeakCogVMMaker.sh
- rm -Rf $COGLINUX/oscogvm
- else
- wget -c http://www.mirandabanda.org/files/Cog/VM/VM.r2776/coglinux-13.33.2776.tgz #TODO <--do I need to generalize this?
- tar -xf coglinux-13.33.2776.tgz
- rm -f coglinux-13.33.2776.tgz
-
- wget -c ftp.squeak.org/4.6alpha/$SQUEAK46ZIP
- unzip $SQUEAK46ZIP -d $COGLINUX
- rm $SQUEAK46ZIP
-
- cd $COGLINUX
- cp -p $SQUEAK46.image StandardVMMaker.image
- cp -p $SQUEAK46.changes StandardVMMaker.changes
- cd ../
- fi
-
-
-# cp -R ~/trunk $COGLINUX #<--script development timesaver. use cp instead of svn
- svn co http://squeakvm.org/svn/squeak/trunk $COGLINUX/trunk
-
- if [ -h $COGLINUX/platforms ]; then
- rm -f $COGLINUX/platforms
- fi
- cd $COGLINUX
- ln -s trunk/platforms platforms #<--needed for VMMakerTool
- mkdir build
- cd -
-
- cd ../
-
-}
-
-launch_and_configure_four_six_standard(){
-#echo 'http://wiki.squeak.org/squeak/6177'
-
-
- cp -p BuildSqueakStandardVMMakerImage.st $STANDARDINSTALLDIRECTORY/$COGLINUX
- cp -p *.text $STANDARDINSTALLDIRECTORY/$COGLINUX
- cp -p *.config $STANDARDINSTALLDIRECTORY/$COGLINUX
- cd $STANDARDINSTALLDIRECTORY/$COGLINUX
- ./squeak StandardVMMaker.image BuildSqueakStandardVMMakerImage.st
- cd -
-}
-
-
-#end function declarations
-#begin script proper
-
-# initialize variables:
-
-#Flow Control Variables
-APP=`dirname "$0"`
-APP=`cd "$APP";pwd`
-OS=`uname -s`
-CPU=`uname -m`
-COG=false #include cog configuration
-STANDARD=false #include standard configuration
-TRUNK=false #build from trunk
-VERSION=4.6
-NO_ARGS=0
-E_OPTERROR=85
-
-#Squeak 4.5 specific variables
-SQUEAK45IMAGE="Squeak4.5-13680.image"
-SQUEAK45VM="DETERMINED IN launch_and_configure_four_five()"
-
-#Squeak 4.6 specific variables
-SQUEAK46=Squeak4.6-13700
-SQUEAK46ZIP=$SQUEAK46.zip
-COGLINUX=coglinux
-
-#Squeak Common variables
-COGIMAGE="CogVMMaker.image"
-STANDARDIMAGE="StandardVMMaker.image"
-COGINSTALLDIRECTORY="cogVMMaker" #Cog buildsqueakcmakeimage end result lives here
-STANDARDINSTALLDIRECTORY="standardVMMaker" #Standard Intepreter buildsqueakcmakeimage end result lives here
-
-
-
-if [ $# -eq "$NO_ARGS" ] # Script invoked with no command-line args
-then
- show_help
- exit $E_OPTERROR # Exit and explain usage.
-fi
-
-#parse options
-OPTIND=1
-while getopts "bc:hs:t" opt; do
- case "$opt" in
- b) VERSION=4.5 #latest stable branch
- COG=true
- STANDARD=true
- TRUNK=false
- ;;
- c) VERSION=$OPTARG
- COG=true
- ;;
- h)
- show_help
- exit 0
- ;;
- s) VERSION=$OPTARG
- STANDARD=true
- ;;
-
- t) TRUNK=true
- ;;
-
- '?')
-1 show_help >&2
- exit 1
- ;;
- esac
-done
-shift "$((OPTIND-1))" # Shift off the options and optional --.
-
-
-
-
-##download squeak and launch it with appropriate smalltalk script.
-case "$VERSION" in
- 4.5)
- if [ "$COG" = true ]; then
- mkdir $COGINSTALLDIRECTORY
- [ "$TRUNK" == true ] && printf 'Loading Squeak version %s and configuring from trunk\n' "$VERSION" || printf 'Loading Squeak version %s\n' "$VERSION"
- [ "$TRUNK" == true ] && (get_four_five $TRUNK) || (get_four_five)
- launch_and_configure_four_five $TRUNK
- printf 'to run CogVMMaker: cd %s; ./squeakCogVMMaker.sh\n' "$COGINSTALLDIRECTORY/$SQUEAK45APP"
- fi
-
- if [ "$STANDARD" = true ]; then
- mkdir $STANDARDINSTALLDIRECTORY
- get_four_five_standard_vm
- launch_and_configure_four_five_standard
- printf 'to run StandardVMMaker: cd %s; ./squeakStandardVMMaker.sh\n' "$STANDARDINSTALLDIRECTORY/$SQUEAK45APP"
- fi
-
- [ "$TRUNK" == true ] && (echo 'Squeak 4.5 Trunk installation and configuration complete. ';) || (echo 'Squeak 4.5 installation and configuration complete. ';)
- ;;
- 4.6)
- if [ "$COG" = true ]; then
- mkdir $COGINSTALLDIRECTORY
- printf 'Loading Squeak version %s\n' "$VERSION"
- get_four_six
- launch_and_configure_four_six
-
- printf 'to run CogVMMaker: cd %s; squeak CogVMMaker.image' "$COGINSTALLDIRECTORY/coglinux"
- fi
- if [ "$STANDARD" = true ]; then
- mkdir $STANDARDINSTALLDIRECTORY
- get_four_six_standard_vm
- launch_and_configure_four_six_standard
- printf 'to run StandardVMMaker: cd %s; squeak StandardVMMaker.image' "$STANDARDINSTALLDIRECTORY/coglinux"
- fi
- echo 'Squeak 4.6 installation and configuration complete. ';
- exit
- ;;
-
- 42)
- fourty_two;
- ;;
- *) echo 'version $VERSION not supported. Try 4.5 or 4.6'
- exit 2
- ;;
- esac
-
-
-exit
Deleted: branches/Cog/image/buildsqueaktrunkimage.sh
===================================================================
--- branches/Cog/image/buildsqueaktrunkimage.sh 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/buildsqueaktrunkimage.sh 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,12 +0,0 @@
-#!/bin/sh
-. ./envvars.sh
-./getsqueak45.sh
-. ./getGoodCogVM.sh
-
-cp -p $SQUEAK45.image trunk46forspur.image
-cp -p $SQUEAK45.changes trunk46forspur.changes
-
-echo $VM trunk46forspur.image UpdateSqueakTrunkImage.st
-$VM trunk46forspur.image UpdateSqueakTrunkImage.st
-
-./resizesqueakwindow.sh trunk46forspur.image 800 600
Deleted: branches/Cog/image/buildsqueaktrunkvmmakerimage.sh
===================================================================
--- branches/Cog/image/buildsqueaktrunkvmmakerimage.sh 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/buildsqueaktrunkvmmakerimage.sh 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,14 +0,0 @@
-#!/bin/bash
-. ./envvars.sh
-./getsqueak45.sh
-. ./getGoodCogVM.sh
-
-cp -p $SQUEAK45.image CogVMMaker.image
-cp -p $SQUEAK45.changes CogVMMaker.changes
-
-if [ "$OS" = Linux -a "$CPU" = x86_64 ]; then
- echo Running 32-bit Squeak on a 64-bit System. Hope the 32-bit runtime libraries are installed ...
-fi
-
-echo exec "$VM" CogVMMaker.image BuildSqueakTrunkVMMakerImage.st
-exec "$VM" CogVMMaker.image BuildSqueakTrunkVMMakerImage.st
Deleted: branches/Cog/image/ensureSqueakV41sources.sh
===================================================================
--- branches/Cog/image/ensureSqueakV41sources.sh 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/ensureSqueakV41sources.sh 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,9 +0,0 @@
-#!/bin/bash
-. ./envvars.sh
-test -f SqueakV41.sources && exit 0
-if [ -f ../sources/SqueakV41.sources ]; then
- ln ../sources/SqueakV41.sources .
- exit 0
-fi
-geturl http://ftp.squeak.org/sources_files/SqueakV41.sources.gz
-gunzip SqueakV41.sources
Deleted: branches/Cog/image/getsqueak45.sh
===================================================================
--- branches/Cog/image/getsqueak45.sh 2015-09-25 06:28:59 UTC (rev 3447)
+++ branches/Cog/image/getsqueak45.sh 2015-09-25 18:56:44 UTC (rev 3448)
@@ -1,21 +0,0 @@
-#!/bin/bash
-. ./envvars.sh
-
-IMAGEHASH=1d0d4320224b741da1f56c6871963702
-ZIPHASH=b90e0303ab61e928a5d997b22d18b468
-
-if [ "`quietmd5 \"$SQUEAK45\".image`" != $IMAGEHASH ]; then
- ZIP=Squeak-4.5-All-in-One.zip
- if [ "`quietmd5 $ZIP`" != $ZIPHASH ]
- then
- geturl http://ftp.squeak.org/4.5/$ZIP
- fi
- if unzip --help >/dev/null; then
- true
- else
- echo 'could not find unzip. you can find instructions on how to install it on google.' 1>&2
- exit 1
- fi
- unzip $ZIP
-fi
-test -f SqueakV41.sources || ln $SQUEAK45RESOURCES/SqueakV41.sources .
Copied: branches/Cog/image/old/BuildSpurTrunkImage.st (from rev 3447, branches/Cog/image/BuildSpurTrunkImage.st)
===================================================================
--- branches/Cog/image/old/BuildSpurTrunkImage.st (rev 0)
+++ branches/Cog/image/old/BuildSpurTrunkImage.st 2015-09-25 18:56:44 UTC (rev 3448)
@@ -0,0 +1,9 @@
@@ Diff output truncated at 50000 characters. @@
More information about the Vm-dev
mailing list