Tim,
Some belated followup on this. The patches for sqMemoryAccess.h do not seem to have been committed to SVN as of SVN 1352. I'm attaching a copy of this patch along with the others that I currently apply to the platforms tree in order to do a Unix VM build.
Unrelated to the patch I sent for sqMemoryAccess.h, but affecting the same source file, you had asked if the oopForPointer macro was defined wrong and I had replied that I thought that it did look wrong. However, I just got around to trying a build with the macro defined as: #define oopForPointer(ptr) ((sqInt)((ptr) - sqMemoryBase))
and this does *not* work (blows up with a compiler error). So I don't know what is right here, but you should not make that change until somebody figures it out.
For reference, here is a summary of the patches (attached) that I am currently using. Two patches are required, and the other two are nice to have.
platforms-unix-vm-sqUnixCharConv.c.diff - Provide missing sqGetFilenameFromString() function. This function must be present in order to build a unix VM.
platforms-Cross-vm-sqMemoryAccess.h.diff - Missing memory access macros. Required for Linux build.
platforms-unix-vm-sqUnixExternalPrims.c.diff - Provide meaningful error message if e.g. vm-display-X11 fails to load for some reason. Nice to have but not required for successful VM build.
platforms-unix-config-config.h.in.diff - Define #SQAIO_H. Required for OSPP only, nice to have.
I'll note also that I cannot build an MPEG plugin for Unix with the current sources, but I assume this a new issue related to John's recent upgrades and I have not looked into it yet.
Dave
On Tue, Jan 03, 2006 at 01:34:35PM -0800, tim Rowledge wrote:
On 29-Dec-05, at 12:00 PM, David T. Lewis wrote:
Attachments (in zip file):
platforms-win32-plugins-FilePlugin-sqWin32FilePrims.c.diff - Change Win32 FilePlugin to use session ID from the interpreter rather than generate its own value (for consistency, and also so as not to break OSPP for Win32).
OK, that is up to andreas - I couldn't commit it if I wanted to.
platforms-Cross-vm-sqMemoryAccess.h.diff - Add missing memory access macros (the inline functions are complete, but some of the corresponding macros are missing).
OK, made the changes. Am I hallucinating or should we really make the #define oopForPointer(ptr) ((sqInt)(ptr)) read #define oopForPointer(ptr) ((sqInt)(ptr-sqMemoryBase)) instead?
platforms-unix-vm-sqUnixExternalPrims.c.diff - Provide meaningful console error message if an external module (e.g. vm-display-X11) fails to load.
That's one for Ian.
platforms-unix-config-config.h.in.diff - Add a definition to unix/ config/config.in to #define SQAIO_H "sqaio.h" due to renaming aio.h to sqaio.h. Permits OSPP and AIO plugins to be backward compatible with older source trees. (Note to Tim: RiscOS uses a copy of aio.h in its platform tree, should sqaio.h be moved to Cross?)
Well, maybe it should. I suppose if it is used by two or more platforms it makes a reasonable candidate for Cross. It is another posixy rather than ansi-ish file though.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Never write software that anthropomorphizes the machine. They hate that.