List,
I'm using VMMaker and "build" on Win32 to routinely generate and compile (and run) experiments with Squeak's VM. When I want a "small" VM, one that has (besides memory) just access to - display - keyboard - mouse are there any plugins I must include in VMMaker? I'm asking because I want to create a new tool set for C compilation, for experiments with microkernels, and I don't want to spend too much time with dependencies of plugins. Thank you very much in advance. /Klaus |
Am 27.10.2005 um 10:36 schrieb Klaus D. Witzel: > List, > > I'm using VMMaker and "build" on Win32 to routinely generate and > compile (and run) experiments with Squeak's VM. > > When I want a "small" VM, one that has (besides memory) just access to > > - display > - keyboard > - mouse > > are there any plugins I must include in VMMaker? Well, for displaying you really need BitBlt. Some other plugins provide speedier execution for certain operations (strings, math, morphic transforms etc) but the image should have fallback-code when the plugins are not available. - Bert - |
In reply to this post by Klaus D. Witzel
On Thu, Oct 27, 2005 at 10:36:00AM +0200, Klaus D. Witzel wrote:
> > When I want a "small" VM, one that has (besides memory) just access to > > - display > - keyboard > - mouse > > are there any plugins I must include in VMMaker? The plugins FilePlugin, B3DEnginePlugin, and BitBltSimulation are necessary for a usable VM. FilePlugin is required to allow access to the sources and changes files. In principle it should be possible to do without B3DEnginePlugin and BitBltSimulation, but the necessary error handling does not seem to be in place in the image. If you want access to networking, you must also include SocketPlugin in the build. Dave |
In reply to this post by Klaus D. Witzel
Thank you Bert, David and Alan for advice and interest.
It looks like I'll have to come back soon with some currently unforseeable issues :) /Klaus On Thu, 27 Oct 2005 10:36:00 +0200, Klaus D. Witzel <[hidden email]> wrote: > List, > > I'm using VMMaker and "build" on Win32 to routinely generate and compile > (and run) experiments with Squeak's VM. > > When I want a "small" VM, one that has (besides memory) just access to > > - display > - keyboard > - mouse > > are there any plugins I must include in VMMaker? > > I'm asking because I want to create a new tool set for C compilation, > for experiments with microkernels, and I don't want to spend too much > time with dependencies of plugins. > > Thank you very much in advance. > > /Klaus > > |
In reply to this post by Klaus D. Witzel
Hi Klaus-- http://lists.squeakfoundation.org/pipermail/spoon/2004-March/000050.html -C -- Craig Latta improvisational musical informaticist www.netjam.org Smalltalkers do: [:it | All with: Class, (And love: it)] |
Thank you Craig I just tested with #(BitBlt File FloatArray Security Misc)
and the 3.7.1 Win32 "build" no longer compiles (lots of unrelated references, for example to JoyStick, DragAndDrop, Socket :( Alan: may I ask what microkernel is your target? /Klaus On Fri, 28 Oct 2005 02:44:18 +0200, Craig Latta <[hidden email]> wrote: > > Hi Klaus-- > > http://lists.squeakfoundation.org/pipermail/spoon/2004-March/000050.html > > > -C > |
On 28-Oct-05, at 11:06 AM, Klaus D. Witzel wrote: > Thank you Craig I just tested with #(BitBlt File FloatArray > Security Misc) and the 3.7.1 Win32 "build" no longer compiles (lots > of unrelated references, for example to JoyStick, DragAndDrop, > Socket :( > You will need the Bitblt in order to display and I think FloatArray is used in some common morphic methods and Misc has a lot of useful string scanning prims but Security should not be needed. From a compiling point of view *none* of the plugins should be needed; if the compiler/linker is complaining then something is wrong with the makefile stuff. I think that Andreas generally has stuff set up to compile plugins internally so that may be an indicator of changes needed in the makefile. On RISC OS I make all the plugins external and there are *no* compile interdependencies between VM core and any plugin. There should not be any for any platform. I see that in the latest copy of sqWin32Intel. on my machine there is an explicit call to ioInitSecurity() which is completely wrong; it forces you to have the security plugin linked directly to the vm core. There simply isn't any need to do this. The plugin will get loaded and initialized when it is needed. I also see a curious file called sqWin32Stubs.c which has a large number of function references straight into plugins - since I don't do Windows I have no idea what this could be for - but it does have #ifdefs you can turn off and they might help. You'll find many of them in sqWin32.h - look for the #ifdef MINIMAL. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim |
In reply to this post by Klaus D. Witzel
Try to
#define NO_SOCKET #define NO_SOUND #define NO_JOYSTICK #define NO_PRINTER #define NO_MIDI #define NO_ASYNC_FILES #define NO_PLUGIN_SUPPORT #define NO_DIRECTINPUT #define NO_SERIAL_PORT #define NO_NETWORK #define NO_SERVICE #define NO_PREFERENCES #define NO_PRINTER #define NO_WHEEL_MOUSE in sqWin32.h; that should do it. Cheers, - Andreas Klaus D. Witzel wrote: > Thank you Craig I just tested with #(BitBlt File FloatArray Security > Misc) and the 3.7.1 Win32 "build" no longer compiles (lots of > unrelated references, for example to JoyStick, DragAndDrop, Socket :( > > Alan: may I ask what microkernel is your target? > > /Klaus > > On Fri, 28 Oct 2005 02:44:18 +0200, Craig Latta <[hidden email]> wrote: > >> >> Hi Klaus-- >> >> http://lists.squeakfoundation.org/pipermail/spoon/2004-March/000050.html >> >> >> -C >> > > > |
In reply to this post by timrowledge
tim Rowledge wrote:
> I see that in the latest copy of sqWin32Intel. on my machine there is > an explicit call to ioInitSecurity() which is completely wrong; it > forces you to have the security plugin linked directly to the vm core. > There simply isn't any need to do this. The plugin will get loaded and > initialized when it is needed. Sigh. We've had this discussion a couple of years ago already and nothing has changed since. So let me repeat what I explained to you back then: If you want to ensure that you can load an image in secured mode, you cannot wait until that image voluntarily loads the plugin (because it never will). You *have* to initialize the plugin automatically and you *have* to do that before the image is even loaded. - Andreas |
In reply to this post by Andreas.Raab
Thank you Andreas that was my first idea after I compared the (old) WinCE
version of the files with (current) Win32. But I get the messages below. Any suggestion which plugins to include / exclude, or is it something else. I'm using the 3.7.1. source files together with full Squeak3.7, will take any better version that compiles and runs for - display - keyboard - mouse /Klaus (sorry, the following lines wrap incorrect) gcc -mwindows -o ./release/Squeak.exe ./release/sqNamedPrims.o ./release/sqVirtualMachine.o ./release/sqWin32Alloc.o ./release/sqWin32Args.o ./release/sqWin32DirectInput. o ./release/sqWin32Directory.o ./release/sqWin32Exports.o ./release/sqWin32ExternalPrims.o ./release/sqWin32GUID.o ./release/sqWin32Intel.o ./release/sqWin32PluginSupport .o ./release/sqWin32Prefs.o ./release/sqWin32Service.o ./release/sqWin32Stubs.o ./release/sqWin32Utils.o ./release/sqWin32Window.o ./release/gnu-interp.o ./release/Squeak .exp ./release/resource.o ./release/BitBltPlugin.lib ./release/FilePlugin.lib ./release/FloatArrayPlugin.lib ./release/MiscPrimitivePlugin.lib ./release/SecurityPlugin.li b -lddraw -ldinput -lopengl32 -lwsock32 -lcomdlg32 -lole32 -lwinmm -luser32 -lgdi32 -lkernel32 -lcrtdll ./release/sqWin32Exports.o(.data+0x8)://D/3.7.1/win32/./vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugInfo' ./release/sqWin32Exports.o(.data+0x14)://D/3.7.1/win32/./vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugPrintRawValues' ./release/sqWin32Exports.o(.data+0x20)://D/3.7.1/win32/./vm/sqWin32Exports.c: undefined reference to `win32JoystickDebugPrintAlternativeValues' ./release/sqWin32Exports.o(.data+0x2c)://D/3.7.1/win32/./vm/sqWin32Exports.c: undefined reference to `win32DebugPrintSocketState' ./release/sqWin32Prefs.o: In function `HandlePrefsMenu': //D/3.7.1/win32/./vm/sqWin32Prefs.c:377: undefined reference to `win32DebugPrintSocketState' ./release/sqWin32Window.o: In function `SetupWindows': //D/3.7.1/win32/./vm/sqWin32Window.c:785: undefined reference to `SetupDragAndDrop' make: *** [Squeak.exe] Error 1 On Fri, 28 Oct 2005 21:34:12 +0200, Andreas Raab <[hidden email]> wrote: > Try to > > #define NO_SOCKET > #define NO_SOUND > #define NO_JOYSTICK > #define NO_PRINTER > #define NO_MIDI > #define NO_ASYNC_FILES > #define NO_PLUGIN_SUPPORT > #define NO_DIRECTINPUT > #define NO_SERIAL_PORT > #define NO_NETWORK > > #define NO_SERVICE > #define NO_PREFERENCES > #define NO_PRINTER > #define NO_WHEEL_MOUSE > > in sqWin32.h; that should do it. > > Cheers, > - Andreas > > Klaus D. Witzel wrote: >> Thank you Craig I just tested with #(BitBlt File FloatArray Security >> Misc) and the 3.7.1 Win32 "build" no longer compiles (lots of >> unrelated references, for example to JoyStick, DragAndDrop, Socket :( >> Alan: may I ask what microkernel is your target? >> /Klaus >> On Fri, 28 Oct 2005 02:44:18 +0200, Craig Latta <[hidden email]> >> wrote: >> >>> >>> Hi Klaus-- >>> >>> http://lists.squeakfoundation.org/pipermail/spoon/2004-March/000050.html >>> >>> >>> -C >>> >> > |
In reply to this post by Andreas.Raab
On 28-Oct-05, at 12:55 PM, Andreas Raab wrote: > tim Rowledge wrote: > > >> I see that in the latest copy of sqWin32Intel. on my machine there >> is an explicit call to ioInitSecurity() which is completely >> wrong; it forces you to have the security plugin linked directly >> to the vm core. There simply isn't any need to do this. The >> plugin will get loaded and initialized when it is needed. >> >> > > Sigh. We've had this discussion a couple of years ago already and > nothing has changed since. So let me repeat what I explained to you > back then: If you want to ensure that you can load an image in > secured mode, you cannot wait until that image voluntarily loads > the plugin (because it never will). You *have* to initialize the > plugin automatically and you *have* to do that before the image is > even loaded. > Sigh. We've had this discussion about five years ago and nothing has changed since. So let me explain what I said back then; that is not an excuse for making a direct call to a function in a plugin. How about using the correct ioLoadFunction() call that is specifically intended to provide clean, safe access to a plugin function? You even commented it as the correct way to do this. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim |
To which I replied that in this particular case I don't care because I
want to make sure that the plugin is present and functioning. Do we really need to rehash the whole discussion? - A. tim Rowledge wrote: > > On 28-Oct-05, at 12:55 PM, Andreas Raab wrote: > > >> tim Rowledge wrote: >> >> >>> I see that in the latest copy of sqWin32Intel. on my machine there >>> is an explicit call to ioInitSecurity() which is completely wrong; >>> it forces you to have the security plugin linked directly to the >>> vm core. There simply isn't any need to do this. The plugin will >>> get loaded and initialized when it is needed. >>> >>> >> >> Sigh. We've had this discussion a couple of years ago already and >> nothing has changed since. So let me repeat what I explained to you >> back then: If you want to ensure that you can load an image in >> secured mode, you cannot wait until that image voluntarily loads the >> plugin (because it never will). You *have* to initialize the plugin >> automatically and you *have* to do that before the image is even loaded. >> > > Sigh. We've had this discussion about five years ago and nothing has > changed since. So let me explain what I said back then; that is not an > excuse for making a direct call to a function in a plugin. How about > using the correct ioLoadFunction() call that is specifically intended > to provide clean, safe access to a plugin function? You even commented > it as the correct way to do this. > > tim |
This implies the security plugin is MANDATORY, which is I didn't
think it was? On 28-Oct-05, at 3:44 PM, Andreas Raab wrote: > To which I replied that in this particular case I don't care > because I want to make sure that the plugin is present and > functioning. Do we really need to rehash the whole discussion? > > - A. > > tim Rowledge wrote: > >> On 28-Oct-05, at 12:55 PM, Andreas Raab wrote: >> >>> tim Rowledge wrote: >>> >>> >>> >>>> I see that in the latest copy of sqWin32Intel. on my machine >>>> there is an explicit call to ioInitSecurity() which is >>>> completely wrong; it forces you to have the security plugin >>>> linked directly to the vm core. There simply isn't any need >>>> to do this. The plugin will get loaded and initialized when it >>>> is needed. >>>> >>>> >>>> >>> >>> Sigh. We've had this discussion a couple of years ago already >>> and nothing has changed since. So let me repeat what I explained >>> to you back then: If you want to ensure that you can load an >>> image in secured mode, you cannot wait until that image >>> voluntarily loads the plugin (because it never will). You *have* >>> to initialize the plugin automatically and you *have* to do that >>> before the image is even loaded. >>> >>> >> Sigh. We've had this discussion about five years ago and nothing >> has changed since. So let me explain what I said back then; that >> is not an excuse for making a direct call to a function in a >> plugin. How about using the correct ioLoadFunction() call that is >> specifically intended to provide clean, safe access to a plugin >> function? You even commented it as the correct way to do this. >> tim >> > > -- ======================================================================== === John M. McIntosh <[hidden email]> 1-800-477-2659 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== === |
Yes, I think it should be mandatory.
Cheers, - Andreas John M McIntosh wrote: > This implies the security plugin is MANDATORY, which is I didn't think > it was? > > On 28-Oct-05, at 3:44 PM, Andreas Raab wrote: > >> To which I replied that in this particular case I don't care because >> I want to make sure that the plugin is present and functioning. Do we >> really need to rehash the whole discussion? >> >> - A. >> >> tim Rowledge wrote: >> >>> On 28-Oct-05, at 12:55 PM, Andreas Raab wrote: >>> >>>> tim Rowledge wrote: >>>> >>>> >>>> >>>>> I see that in the latest copy of sqWin32Intel. on my machine >>>>> there is an explicit call to ioInitSecurity() which is >>>>> completely wrong; it forces you to have the security plugin >>>>> linked directly to the vm core. There simply isn't any need to >>>>> do this. The plugin will get loaded and initialized when it is >>>>> needed. >>>>> >>>>> >>>>> >>>> >>>> Sigh. We've had this discussion a couple of years ago already and >>>> nothing has changed since. So let me repeat what I explained to >>>> you back then: If you want to ensure that you can load an image >>>> in secured mode, you cannot wait until that image voluntarily >>>> loads the plugin (because it never will). You *have* to initialize >>>> the plugin automatically and you *have* to do that before the >>>> image is even loaded. >>>> >>>> >>> Sigh. We've had this discussion about five years ago and nothing >>> has changed since. So let me explain what I said back then; that >>> is not an excuse for making a direct call to a function in a >>> plugin. How about using the correct ioLoadFunction() call that is >>> specifically intended to provide clean, safe access to a plugin >>> function? You even commented it as the correct way to do this. >>> tim >>> >> >> > > -- > ======================================================================== > === > John M. McIntosh <[hidden email]> 1-800-477-2659 > Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com > ======================================================================== > === > > |
Free forum by Nabble | Edit this page |