On 03/05/07, Ken G. Brown kbrown@mac.com wrote:
For the issues between 10.3.9 and 10.4, in XCode, at the bottom of Project / Edit Active Target / Build / Deployment / All Settings Change SDKROOT_ppc = /Developer/SDKs/MacOSX10.3.9.sdk/ to MacOSX10.4.0u.sdk.
Might solve some problems compiling.
What is the theoretical difference between the SDKs, as far as Squeak is concerned ?
I fiddled with that and I can't exactly remember what I finally put in there. After the case issues (e.g. IOKit/HID/IOHIDLib.h should have been IOKit/hid/IOHIDLib.h), I had to comment out a couple of mentions to exupery somewhere, and the VM built.
This is on a 2GHz MacBook (1st generation, Core (not 2) duo, and I get: 0 tinyBenchmarks '356050069 bytecodes/sec; 7603848 sends/sec'
I'll ask for my certificate at ESUG 2007 :-)
Now, on to writing plugins.
Well first the issue with type sensitive file names can only be solved by doing what you did and attempting to compile on a case sensitive HFS+ system.
The Squeak VM for powerpc is compiled using the 10.3.9 SDK with a target deployment of 10.2.8, in order for the VM to run on 10.2.x system Although no squeak developer might actually be using such a systme, many schools are saddled with such old software. In this case the VM is weak linked to the frameworks and at run time we determine what to do.
Currently the only features used in 10.3 includes:
a) A call to swap a background squeak VM to the foreground, however this is a specialized use of Squeak for which I don't know if anyone is using. There is no alternate choice, but since it's a specialized use of squeak, no-one has complained.
b) A set of calls to determine where the mouse is on a mouse down. 10.3 provides a nice feature where we can ask where the mouse, like in the content of the window, versus the title bar etc. The fallback is to use histroical code that gets the window's content bounding region and check that for inclusion.
c) A set of calls to do dynamic loading in the unix plugin/module loading. In this case we fall back to using the 10.2 code that was written for the unix VM.
d) A set of calls to set the display mode, a specialized squeak prmitive that alters the resolution of the main display. For 10.2 we fall back to using the 10.2 code, where as for 10.3 there is a nice clean api to use instead.
Lastly the real test is of course to compare a current "offical" VM bytecodes (many iterations) to your numbers to see if they are similar.
On May 2, 2007, at 4:25 PM, Damien Pollet wrote:
On 03/05/07, Ken G. Brown kbrown@mac.com wrote:
For the issues between 10.3.9 and 10.4, in XCode, at the bottom of Project / Edit Active Target / Build / Deployment / All Settings Change SDKROOT_ppc = /Developer/SDKs/MacOSX10.3.9.sdk/ to MacOSX10.4.0u.sdk.
Might solve some problems compiling.
What is the theoretical difference between the SDKs, as far as Squeak is concerned ?
I fiddled with that and I can't exactly remember what I finally put in there. After the case issues (e.g. IOKit/HID/IOHIDLib.h should have been IOKit/hid/IOHIDLib.h), I had to comment out a couple of mentions to exupery somewhere, and the VM built.
This is on a 2GHz MacBook (1st generation, Core (not 2) duo, and I get: 0 tinyBenchmarks '356050069 bytecodes/sec; 7603848 sends/sec'
I'll ask for my certificate at ESUG 2007 :-)
Now, on to writing plugins.
Damien Pollet type less, do more [ | ] http://typo.cdlm.fasmz.org
-- ======================================================================== === John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== ===
On 03/05/07, John M McIntosh johnmci@smalltalkconsulting.com wrote:
Well first the issue with type sensitive file names can only be solved by doing what you did and attempting to compile on a case sensitive HFS+ system.
The Squeak VM for powerpc is compiled using the 10.3.9 SDK with a target deployment of 10.2.8, in order for the VM to run on 10.2.x system Although no squeak developer might actually be using such a systme, many schools are saddled with such old software. In this case the VM is weak linked to the frameworks and at run time we determine what to do.
Currently the only features used in 10.3 includes:
a) A call to swap a background squeak VM to the foreground, however this is a specialized use of Squeak for which I don't know if anyone is using. There is no alternate choice, but since it's a specialized use of squeak, no-one has complained.
b) A set of calls to determine where the mouse is on a mouse down. 10.3 provides a nice feature where we can ask where the mouse, like in the content of the window, versus the title bar etc. The fallback is to use histroical code that gets the window's content bounding region and check that for inclusion.
c) A set of calls to do dynamic loading in the unix plugin/module loading. In this case we fall back to using the 10.2 code that was written for the unix VM.
d) A set of calls to set the display mode, a specialized squeak prmitive that alters the resolution of the main display. For 10.2 we fall back to using the 10.2 code, where as for 10.3 there is a nice clean api to use instead.
OK so I gather that there is no hard dependancy on one SDK or another, the code is meant to adapt to both.
Lastly the real test is of course to compare a current "offical" VM bytecodes (many iterations) to your numbers to see if they are similar.
This is on a 2GHz MacBook (1st generation, Core (not 2) duo, and I get: 0 tinyBenchmarks '356050069 bytecodes/sec; 7603848 sends/sec'
With Squeak 3.8.17beta4U: '352617079 bytecodes/sec; 7518637 sends/sec' With Squeak-3.9-10 (unix): '205292702 bytecodes/sec; 6951829 sends/sec'
vm-dev@lists.squeakfoundation.org