[Ann] VMMaker + Cog building in Pharo20
So, I finished committing and made a last smoke test. VMMaker loads in Pharo2.0 and uses (mostly) Filesystem. I used the rewriting engine to rewrite some parts, and some others I made manually... To sum up: - I created a new version in configuration of cog: 6.5 (in the way I touched ConfigurationOfAsmJit for those related...) - I uploaded this configuration to old MetacelloRepository and MetaRepoForPharo20 in ss3. So you can use either of these: Gofer it squeaksource: 'MetacelloRepository'; configurationOf: 'Cog'; load. Gofer it squeaksource3: 'MetaRepoForPharo20'; configurationOf: 'Cog'; load. - Version 6.5 is intended to be used in Pharo 2.0. (ConfigurationOfCog project version: '6.5') load. - I tested building a pharo vm and a simple cog, *only in mac*. So, further testing is needed :) But it's a start. PharoVMBuilder buildMacOSX32. CogCocoaIOSConfig new generateForRelease; addExternalPlugins: #( FT2Plugin ); addInternalPlugins: #( UnixOSProcessPlugin ); "addThirdpartyLibrary: 'cairo';" generateSources; generate. So a next step is to update the gitorious scripts to use pharo 2.0 + cog 6.5 instead of pharo 1.4 + cog 6.4. And we probably have to review the numbering inside ConfigurationOfCog :). Guille
Guillermo Polito wrote
VMMaker loads in Pharo2.0 and uses (mostly) Filesystem
Nice work! ----- Cheers, Sean -- View this message in context: http://forum.world.st/Pharo-dev-Ann-VMMaker-Cog-building-in-Pharo20-tp469409... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
On 19 June 2013 13:01, Sean P. DeNigris <sean@clipperadams.com> wrote:
Guillermo Polito wrote
VMMaker loads in Pharo2.0 and uses (mostly) Filesystem
Nice work!
+1. Just one question: what "(mostly)" stands for? :) Is there parts which still using old stuff?
----- Cheers, Sean -- View this message in context: http://forum.world.st/Pharo-dev-Ann-VMMaker-Cog-building-in-Pharo20-tp469409... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
-- Best regards, Igor Stasenko.
For example, I didn't even try to ensure RiscOSVMMaker port was complete. And since I didn't have a way to test it, who knows? On Wed, Jun 19, 2013 at 3:50 PM, Igor Stasenko <siguctua@gmail.com> wrote:
On 19 June 2013 13:01, Sean P. DeNigris <sean@clipperadams.com> wrote:
Guillermo Polito wrote
VMMaker loads in Pharo2.0 and uses (mostly) Filesystem
Nice work!
+1.
Just one question: what "(mostly)" stands for? :) Is there parts which still using old stuff?
----- Cheers, Sean -- View this message in context:
http://forum.world.st/Pharo-dev-Ann-VMMaker-Cog-building-in-Pharo20-tp469409...
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
-- Best regards, Igor Stasenko.
On Jun 19, 2013, at 3:54 PM, Guillermo Polito <guillermopolito@gmail.com> wrote:
For example, I didn't even try to ensure RiscOSVMMaker port was complete. And since I didn't have a way to test it, who knows?
RiscOS is dead since years⦠it was the OS of the PC like workstation that Archimedes did in the 80ties. (The company became ARM later, the ARM chip was the CPU that they developed for that workstation). So it definitely is more a museum thing⦠I removed all code mentioning RiscOS from Pharo a long time ago. Marcus
On Wed, Jun 19, 2013 at 3:50 PM, Igor Stasenko <siguctua@gmail.com> wrote: On 19 June 2013 13:01, Sean P. DeNigris <sean@clipperadams.com> wrote:
Guillermo Polito wrote
VMMaker loads in Pharo2.0 and uses (mostly) Filesystem
Nice work!
+1.
Just one question: what "(mostly)" stands for? :) Is there parts which still using old stuff?
----- Cheers, Sean -- View this message in context: http://forum.world.st/Pharo-dev-Ann-VMMaker-Cog-building-in-Pharo20-tp469409... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
-- Best regards, Igor Stasenko.
Yes, but right now moving from FileDirectory to FileSystem will make harder the merge between VMMaker branches. And cleaning and removing stuff will make it worse... So either we keep the mess or we lose the ability to easily merge :) On Wed, Jun 19, 2013 at 3:58 PM, Marcus Denker <marcus.denker@inria.fr>wrote:
On Jun 19, 2013, at 3:54 PM, Guillermo Polito <guillermopolito@gmail.com> wrote:
For example, I didn't even try to ensure RiscOSVMMaker port was complete. And since I didn't have a way to test it, who knows?
RiscOS is dead since years⦠it was the OS of the PC like workstation that Archimedes did in the 80ties. (The company became ARM later, the ARM chip was the CPU that they developed for that workstation).
So it definitely is more a museum thing⦠I removed all code mentioning RiscOS from Pharo a long time ago.
Marcus
On Wed, Jun 19, 2013 at 3:50 PM, Igor Stasenko <siguctua@gmail.com> wrote:
On 19 June 2013 13:01, Sean P. DeNigris <sean@clipperadams.com> wrote:
Guillermo Polito wrote
VMMaker loads in Pharo2.0 and uses (mostly) Filesystem
Nice work!
+1.
Just one question: what "(mostly)" stands for? :) Is there parts which still using old stuff?
----- Cheers, Sean -- View this message in context:
http://forum.world.st/Pharo-dev-Ann-VMMaker-Cog-building-in-Pharo20-tp469409...
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
-- Best regards, Igor Stasenko.
On 19 June 2013 16:34, Guillermo Polito <guillermopolito@gmail.com> wrote:
Yes, but right now moving from FileDirectory to FileSystem will make harder the merge between VMMaker branches. And cleaning and removing stuff will make it worse...
So either we keep the mess or we lose the ability to easily merge :)
i don't think Cog will ever run on riscos in future.. (while on ARM, in general, it will). but it definitely won't use RiscOSVMMaker. I see no reason changing that, especially that Eliot made an effort to use single VMMaker class suitable to be used for building Cog on all platforms. -- Best regards, Igor Stasenko.
Hi, Making a try with "PharoIPhoneBuilder buildIPhoneSimulator." I had to change some things: - The method String>>getEnclosedExpressionFrom: aStream does not exists in Pharo2.0 I took it from Pharo1.4, but probably, you have a better solution. - There are some problems in the method "PharoIPhoneSimulator>>setExtraTargetProperties: maker" due to FileDirectory>>FileSystem changes. Here is the version of the method I did, probably you want to review it (in bold is what I changed): --- PharoIPhoneSimulator>>setExtraTargetProperties: maker "super setExtraTargetProperties: maker." | precompiledHeaders plist | precompiledHeaders := (self executableName, '_Prefix.pch'). *(maker buildDir / precompiledHeaders) writeStream * nextPutAll: self precompiledHeaders; close. maker addXCodeProperty: 'GCC_PREFIX_HEADER' value: '${buildDir}/', precompiledHeaders. self setCommonProperties: maker. " generated and add Info.plist file " plist := self plistFile. *(maker buildDir / 'Info.plist') writeStream* nextPutAll: plist; close. maker addProperty: 'MACOSX_BUNDLE_INFO_PLIST' value: '${buildDir}/Info.plist'. maker cmd: 'set_target_properties' params: self executableName, ' PROPERTIES COMPILE_FLAGS "-include \"', (self buildDir / self prefixHeaderFileName) fullName, '\""'. maker set: 'CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY' toString: self codeSignIdentity. maker set: 'CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY' toString: self targetedDeviceFamilyAsString. maker set: 'CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET' to: self deploymentTargetVersion. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_TEMP_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'. maker set: 'EXECUTABLE_OUTPUT_PATH' toString:* self outputDir fullName*. maker puts: 'set_source_files_properties(${srcVMDir}/gcc3x-cointerp.c PROPERTIES COMPILE_FLAGS -O0)' --- After these two changes, all seems working. Thank you for the work. Jannik 2013/6/19 Igor Stasenko <siguctua@gmail.com>
On 19 June 2013 16:34, Guillermo Polito <guillermopolito@gmail.com> wrote:
Yes, but right now moving from FileDirectory to FileSystem will make harder the merge between VMMaker branches. And cleaning and removing stuff will make it worse...
So either we keep the mess or we lose the ability to easily merge :)
i don't think Cog will ever run on riscos in future.. (while on ARM, in general, it will). but it definitely won't use RiscOSVMMaker. I see no reason changing that, especially that Eliot made an effort to use single VMMaker class suitable to be used for building Cog on all platforms.
-- Best regards, Igor Stasenko.
-- ~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
Jannik, did you commit them? :) On Thu, Jun 20, 2013 at 11:23 AM, jannik laval <jannik.laval@gmail.com>wrote:
Hi,
Making a try with "PharoIPhoneBuilder buildIPhoneSimulator." I had to change some things:
- The method String>>getEnclosedExpressionFrom: aStream does not exists in Pharo2.0 I took it from Pharo1.4, but probably, you have a better solution. - There are some problems in the method "PharoIPhoneSimulator>>setExtraTargetProperties: maker" due to FileDirectory>>FileSystem changes. Here is the version of the method I did, probably you want to review it (in bold is what I changed):
--- PharoIPhoneSimulator>>setExtraTargetProperties: maker "super setExtraTargetProperties: maker."
| precompiledHeaders plist | precompiledHeaders := (self executableName, '_Prefix.pch'). *(maker buildDir / precompiledHeaders) writeStream * nextPutAll: self precompiledHeaders; close. maker addXCodeProperty: 'GCC_PREFIX_HEADER' value: '${buildDir}/', precompiledHeaders. self setCommonProperties: maker.
" generated and add Info.plist file " plist := self plistFile. *(maker buildDir / 'Info.plist') writeStream* nextPutAll: plist; close.
maker addProperty: 'MACOSX_BUNDLE_INFO_PLIST' value: '${buildDir}/Info.plist'. maker cmd: 'set_target_properties' params: self executableName, ' PROPERTIES COMPILE_FLAGS "-include \"', (self buildDir / self prefixHeaderFileName) fullName, '\""'.
maker set: 'CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY' toString: self codeSignIdentity. maker set: 'CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY' toString: self targetedDeviceFamilyAsString. maker set: 'CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET' to: self deploymentTargetVersion. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_TEMP_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'.
maker set: 'EXECUTABLE_OUTPUT_PATH' toString:* self outputDir fullName*. maker puts: 'set_source_files_properties(${srcVMDir}/gcc3x-cointerp.c PROPERTIES COMPILE_FLAGS -O0)' ---
After these two changes, all seems working. Thank you for the work.
Jannik
2013/6/19 Igor Stasenko <siguctua@gmail.com>
On 19 June 2013 16:34, Guillermo Polito <guillermopolito@gmail.com> wrote:
Yes, but right now moving from FileDirectory to FileSystem will make harder the merge between VMMaker branches. And cleaning and removing stuff will make it worse...
So either we keep the mess or we lose the ability to easily merge :)
i don't think Cog will ever run on riscos in future.. (while on ARM, in general, it will). but it definitely won't use RiscOSVMMaker. I see no reason changing that, especially that Eliot made an effort to use single VMMaker class suitable to be used for building Cog on all platforms.
-- Best regards, Igor Stasenko.
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
Nop, I just send the mail. I prefer you review the proposed changes :) Jannik 2013/6/21 Guillermo Polito <guillermopolito@gmail.com>
Jannik, did you commit them? :)
On Thu, Jun 20, 2013 at 11:23 AM, jannik laval <jannik.laval@gmail.com>wrote:
Hi,
Making a try with "PharoIPhoneBuilder buildIPhoneSimulator." I had to change some things:
- The method String>>getEnclosedExpressionFrom: aStream does not exists in Pharo2.0 I took it from Pharo1.4, but probably, you have a better solution. - There are some problems in the method "PharoIPhoneSimulator>>setExtraTargetProperties: maker" due to FileDirectory>>FileSystem changes. Here is the version of the method I did, probably you want to review it (in bold is what I changed):
--- PharoIPhoneSimulator>>setExtraTargetProperties: maker "super setExtraTargetProperties: maker."
| precompiledHeaders plist | precompiledHeaders := (self executableName, '_Prefix.pch'). *(maker buildDir / precompiledHeaders) writeStream * nextPutAll: self precompiledHeaders; close. maker addXCodeProperty: 'GCC_PREFIX_HEADER' value: '${buildDir}/', precompiledHeaders. self setCommonProperties: maker.
" generated and add Info.plist file " plist := self plistFile. *(maker buildDir / 'Info.plist') writeStream* nextPutAll: plist; close.
maker addProperty: 'MACOSX_BUNDLE_INFO_PLIST' value: '${buildDir}/Info.plist'. maker cmd: 'set_target_properties' params: self executableName, ' PROPERTIES COMPILE_FLAGS "-include \"', (self buildDir / self prefixHeaderFileName) fullName, '\""'.
maker set: 'CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY' toString: self codeSignIdentity. maker set: 'CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY' toString: self targetedDeviceFamilyAsString. maker set: 'CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET' to: self deploymentTargetVersion. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_TEMP_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'.
maker set: 'EXECUTABLE_OUTPUT_PATH' toString:* self outputDir fullName*. maker puts: 'set_source_files_properties(${srcVMDir}/gcc3x-cointerp.c PROPERTIES COMPILE_FLAGS -O0)' ---
After these two changes, all seems working. Thank you for the work.
Jannik
2013/6/19 Igor Stasenko <siguctua@gmail.com>
On 19 June 2013 16:34, Guillermo Polito <guillermopolito@gmail.com> wrote:
Yes, but right now moving from FileDirectory to FileSystem will make harder the merge between VMMaker branches. And cleaning and removing stuff will make it worse...
So either we keep the mess or we lose the ability to easily merge :)
i don't think Cog will ever run on riscos in future.. (while on ARM, in general, it will). but it definitely won't use RiscOSVMMaker. I see no reason changing that, especially that Eliot made an effort to use single VMMaker class suitable to be used for building Cog on all platforms.
-- Best regards, Igor Stasenko.
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
-- ~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
To me they look ok... :) as I see here [1], you have no commit grants in the VMMaker repo and you have no user either in source.squeak.org. [1] http://source.squeak.org/@f1QSsdar8e_PgYbD/R72is4gY On Fri, Jun 21, 2013 at 10:32 AM, jannik laval <jannik.laval@gmail.com>wrote:
Nop, I just send the mail. I prefer you review the proposed changes :)
Jannik
2013/6/21 Guillermo Polito <guillermopolito@gmail.com>
Jannik, did you commit them? :)
On Thu, Jun 20, 2013 at 11:23 AM, jannik laval <jannik.laval@gmail.com>wrote:
Hi,
Making a try with "PharoIPhoneBuilder buildIPhoneSimulator." I had to change some things:
- The method String>>getEnclosedExpressionFrom: aStream does not exists in Pharo2.0 I took it from Pharo1.4, but probably, you have a better solution. - There are some problems in the method "PharoIPhoneSimulator>>setExtraTargetProperties: maker" due to FileDirectory>>FileSystem changes. Here is the version of the method I did, probably you want to review it (in bold is what I changed):
--- PharoIPhoneSimulator>>setExtraTargetProperties: maker "super setExtraTargetProperties: maker."
| precompiledHeaders plist | precompiledHeaders := (self executableName, '_Prefix.pch'). *(maker buildDir / precompiledHeaders) writeStream * nextPutAll: self precompiledHeaders; close. maker addXCodeProperty: 'GCC_PREFIX_HEADER' value: '${buildDir}/', precompiledHeaders. self setCommonProperties: maker.
" generated and add Info.plist file " plist := self plistFile. *(maker buildDir / 'Info.plist') writeStream* nextPutAll: plist; close.
maker addProperty: 'MACOSX_BUNDLE_INFO_PLIST' value: '${buildDir}/Info.plist'. maker cmd: 'set_target_properties' params: self executableName, ' PROPERTIES COMPILE_FLAGS "-include \"', (self buildDir / self prefixHeaderFileName) fullName, '\""'.
maker set: 'CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY' toString: self codeSignIdentity. maker set: 'CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY' toString: self targetedDeviceFamilyAsString. maker set: 'CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET' to: self deploymentTargetVersion. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_TEMP_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'.
maker set: 'EXECUTABLE_OUTPUT_PATH' toString:* self outputDir fullName*. maker puts: 'set_source_files_properties(${srcVMDir}/gcc3x-cointerp.c PROPERTIES COMPILE_FLAGS -O0)' ---
After these two changes, all seems working. Thank you for the work.
Jannik
2013/6/19 Igor Stasenko <siguctua@gmail.com>
On 19 June 2013 16:34, Guillermo Polito <guillermopolito@gmail.com> wrote:
Yes, but right now moving from FileDirectory to FileSystem will make harder the merge between VMMaker branches. And cleaning and removing stuff will make it worse...
So either we keep the mess or we lose the ability to easily merge :)
i don't think Cog will ever run on riscos in future.. (while on ARM, in general, it will). but it definitely won't use RiscOSVMMaker. I see no reason changing that, especially that Eliot made an effort to use single VMMaker class suitable to be used for building Cog on all platforms.
-- Best regards, Igor Stasenko.
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
Ok, so, can you commit them ? Jannik 2013/6/21 Guillermo Polito <guillermopolito@gmail.com>
To me they look ok... :)
as I see here [1], you have no commit grants in the VMMaker repo and you have no user either in source.squeak.org.
[1] http://source.squeak.org/@f1QSsdar8e_PgYbD/R72is4gY
On Fri, Jun 21, 2013 at 10:32 AM, jannik laval <jannik.laval@gmail.com>wrote:
Nop, I just send the mail. I prefer you review the proposed changes :)
Jannik
2013/6/21 Guillermo Polito <guillermopolito@gmail.com>
Jannik, did you commit them? :)
On Thu, Jun 20, 2013 at 11:23 AM, jannik laval <jannik.laval@gmail.com>wrote:
Hi,
Making a try with "PharoIPhoneBuilder buildIPhoneSimulator." I had to change some things:
- The method String>>getEnclosedExpressionFrom: aStream does not exists in Pharo2.0 I took it from Pharo1.4, but probably, you have a better solution. - There are some problems in the method "PharoIPhoneSimulator>>setExtraTargetProperties: maker" due to FileDirectory>>FileSystem changes. Here is the version of the method I did, probably you want to review it (in bold is what I changed):
--- PharoIPhoneSimulator>>setExtraTargetProperties: maker "super setExtraTargetProperties: maker."
| precompiledHeaders plist | precompiledHeaders := (self executableName, '_Prefix.pch'). *(maker buildDir / precompiledHeaders) writeStream * nextPutAll: self precompiledHeaders; close. maker addXCodeProperty: 'GCC_PREFIX_HEADER' value: '${buildDir}/', precompiledHeaders. self setCommonProperties: maker.
" generated and add Info.plist file " plist := self plistFile. *(maker buildDir / 'Info.plist') writeStream* nextPutAll: plist; close.
maker addProperty: 'MACOSX_BUNDLE_INFO_PLIST' value: '${buildDir}/Info.plist'. maker cmd: 'set_target_properties' params: self executableName, ' PROPERTIES COMPILE_FLAGS "-include \"', (self buildDir / self prefixHeaderFileName) fullName, '\""'.
maker set: 'CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY' toString: self codeSignIdentity. maker set: 'CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY' toString: self targetedDeviceFamilyAsString. maker set: 'CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET' to: self deploymentTargetVersion. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_TEMP_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'.
maker set: 'EXECUTABLE_OUTPUT_PATH' toString:* self outputDir fullName* . maker puts: 'set_source_files_properties(${srcVMDir}/gcc3x-cointerp.c PROPERTIES COMPILE_FLAGS -O0)' ---
After these two changes, all seems working. Thank you for the work.
Jannik
2013/6/19 Igor Stasenko <siguctua@gmail.com>
On 19 June 2013 16:34, Guillermo Polito <guillermopolito@gmail.com> wrote:
Yes, but right now moving from FileDirectory to FileSystem will make harder the merge between VMMaker branches. And cleaning and removing stuff will make it worse...
So either we keep the mess or we lose the ability to easily merge :)
i don't think Cog will ever run on riscos in future.. (while on ARM, in general, it will). but it definitely won't use RiscOSVMMaker. I see no reason changing that, especially that Eliot made an effort to use single VMMaker class suitable to be used for building Cog on all platforms.
-- Best regards, Igor Stasenko.
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
-- ~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
I can queue it... On Fri, Jun 21, 2013 at 11:06 AM, jannik laval <jannik.laval@gmail.com>wrote:
Ok, so, can you commit them ?
Jannik
2013/6/21 Guillermo Polito <guillermopolito@gmail.com>
To me they look ok... :)
as I see here [1], you have no commit grants in the VMMaker repo and you have no user either in source.squeak.org.
[1] http://source.squeak.org/@f1QSsdar8e_PgYbD/R72is4gY
On Fri, Jun 21, 2013 at 10:32 AM, jannik laval <jannik.laval@gmail.com>wrote:
Nop, I just send the mail. I prefer you review the proposed changes :)
Jannik
2013/6/21 Guillermo Polito <guillermopolito@gmail.com>
Jannik, did you commit them? :)
On Thu, Jun 20, 2013 at 11:23 AM, jannik laval <jannik.laval@gmail.com>wrote:
Hi,
Making a try with "PharoIPhoneBuilder buildIPhoneSimulator." I had to change some things:
- The method String>>getEnclosedExpressionFrom: aStream does not exists in Pharo2.0 I took it from Pharo1.4, but probably, you have a better solution. - There are some problems in the method "PharoIPhoneSimulator>>setExtraTargetProperties: maker" due to FileDirectory>>FileSystem changes. Here is the version of the method I did, probably you want to review it (in bold is what I changed):
--- PharoIPhoneSimulator>>setExtraTargetProperties: maker "super setExtraTargetProperties: maker."
| precompiledHeaders plist | precompiledHeaders := (self executableName, '_Prefix.pch'). *(maker buildDir / precompiledHeaders) writeStream * nextPutAll: self precompiledHeaders; close. maker addXCodeProperty: 'GCC_PREFIX_HEADER' value: '${buildDir}/', precompiledHeaders. self setCommonProperties: maker.
" generated and add Info.plist file " plist := self plistFile. *(maker buildDir / 'Info.plist') writeStream* nextPutAll: plist; close.
maker addProperty: 'MACOSX_BUNDLE_INFO_PLIST' value: '${buildDir}/Info.plist'. maker cmd: 'set_target_properties' params: self executableName, ' PROPERTIES COMPILE_FLAGS "-include \"', (self buildDir / self prefixHeaderFileName) fullName, '\""'.
maker set: 'CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY' toString: self codeSignIdentity. maker set: 'CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY' toString: self targetedDeviceFamilyAsString. maker set: 'CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET' to: self deploymentTargetVersion. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'. maker set: 'CMAKE_XCODE_ATTRIBUTE_CONFIGURATION_TEMP_DIR' toString: '$(BUILD_DIR)/$(CONFIGURATION)'.
maker set: 'EXECUTABLE_OUTPUT_PATH' toString:* self outputDir fullName *. maker puts: 'set_source_files_properties(${srcVMDir}/gcc3x-cointerp.c PROPERTIES COMPILE_FLAGS -O0)' ---
After these two changes, all seems working. Thank you for the work.
Jannik
2013/6/19 Igor Stasenko <siguctua@gmail.com>
On 19 June 2013 16:34, Guillermo Polito <guillermopolito@gmail.com> wrote:
Yes, but right now moving from FileDirectory to FileSystem will make harder the merge between VMMaker branches. And cleaning and removing stuff will make it worse...
So either we keep the mess or we lose the ability to easily merge :)
i don't think Cog will ever run on riscos in future.. (while on ARM, in general, it will). but it definitely won't use RiscOSVMMaker. I see no reason changing that, especially that Eliot made an effort to use single VMMaker class suitable to be used for building Cog on all platforms.
-- Best regards, Igor Stasenko.
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
Great but next time check better because I did these changes 2 months ago and nobody asked: http://comments.gmane.org/gmane.comp.lang.smalltalk.squeak.vm.devel/10184 Hernán El 19/06/2013 6:08, Guillermo Polito escribió:
So, I finished committing and made a last smoke test. VMMaker loads in Pharo2.0 and uses (mostly) Filesystem. I used the rewriting engine to rewrite some parts, and some others I made manually...
To sum up: - I created a new version in configuration of cog: 6.5 (in the way I touched ConfigurationOfAsmJit for those related...) - I uploaded this configuration to old MetacelloRepository and MetaRepoForPharo20 in ss3. So you can use either of these:
Gofer it squeaksource: 'MetacelloRepository'; configurationOf: 'Cog'; load.
Gofer it squeaksource3: 'MetaRepoForPharo20'; configurationOf: 'Cog'; load.
- Version 6.5 is intended to be used in Pharo 2.0.
(ConfigurationOfCog project version: '6.5') load.
- I tested building a pharo vm and a simple cog, *only in mac*. So, further testing is needed :) But it's a start.
PharoVMBuilder buildMacOSX32.
CogCocoaIOSConfig new generateForRelease; addExternalPlugins: #( FT2Plugin ); addInternalPlugins: #( UnixOSProcessPlugin ); "addThirdpartyLibrary: 'cairo';" generateSources; generate.
So a next step is to update the gitorious scripts to use pharo 2.0 + cog 6.5 instead of pharo 1.4 + cog 6.4.
And we probably have to review the numbering inside ConfigurationOfCog :).
Guille
participants (6)
-
Guillermo Polito -
Hernán Morales Durand -
Igor Stasenko -
jannik laval -
Marcus Denker -
Sean P. DeNigris