This is obviously fallout from the recent rearrangement of include stuff, which I happily let float by me. I spent this afternoon attempting to build the improved ARM64 bitblt that RPF paid to have done at the beginning of the year. After first being surprised that the pull request Ben created/raised/sent/whatever hadn't been dealt with I managed to work out the changes he had made and got the above error message. I don't remember any details at all about what had to be done.
The full error message produced was -
In file included from /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/platforms/Cross/vm/sqMemoryAccess.h:23, from /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/platforms/Cross/vm/sqVirtualMachine.h:30, from /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/platforms/Cross/plugins/BitBltPlugin/BitBltDispatch.h:30, from /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/platforms/Cross/plugins/BitBltPlugin/BitBltInternal.h:29, from /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/platforms/Cross/plugins/BitBltPlugin/BitBltArm64.c:28: /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/build.linux64ARMv8/squeak.cog.spur/build/config.h:40:2: error: #error This file was included too late. Please make sure it is included earlier #error This file was included too late. Please make sure it is included earlier
I guess that means some ordering change is needed in the BitBltDispatch.h where the current #inclued chunk looks like -
#ifndef BITBLTDISPATCH_H_ #define BITBLTDISPATCH_H_
#include <stdbool.h> #include "sqVirtualMachine.h"
What should it look like these days?
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Oxymorons: New classic
Hi tim
On 30. Aug 2021, at 04:25, tim Rowledge tim@rowledge.org wrote:
This is obviously fallout from the recent rearrangement of include stuff, which I happily let float by me. I spent this afternoon attempting to build the improved ARM64 bitblt that RPF paid to have done at the beginning of the year. After first being surprised that the pull request Ben created/raised/sent/whatever hadn't been dealt with I managed to work out the changes he had made and got the above error message. I don't remember any details at all about what had to be done.
Good catch actually.
The full error message produced was -
In file included from /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/platforms/Cross/vm/sqMemoryAccess.h:23, from /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/platforms/Cross/vm/sqVirtualMachine.h:30, from /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/platforms/Cross/plugins/BitBltPlugin/BitBltDispatch.h:30, from /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/platforms/Cross/plugins/BitBltPlugin/BitBltInternal.h:29, from /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/platforms/Cross/plugins/BitBltPlugin/BitBltArm64.c:28: /home/pi/DizietFS/Documents/Squeak/opensmalltalk-vm/build.linux64ARMv8/squeak.cog.spur/build/config.h:40:2: error: #error This file was included too late. Please make sure it is included earlier #error This file was included too late. Please make sure it is included earlier
I guess that means some ordering change is needed in the BitBltDispatch.h where the current #inclued chunk looks like -
#ifndef BITBLTDISPATCH_H_ #define BITBLTDISPATCH_H_
#include <stdbool.h> #include "sqVirtualMachine.h"
What should it look like these days?
It should be safe to
a) swap these lines of (if not feasible) b) include this:
#ifdef HAVE_CONFIG_H #include "config.h" #endif
I'd prefer (a).
Best regards -Tobias
tim
On 2021-08-29, at 11:13 PM, Tobias Pape Das.Linux@gmx.de wrote:
It should be safe to
a) swap these lines of (if not feasible) b) include this:
#ifdef HAVE_CONFIG_H #include "config.h" #endif
If I try the simple approach of putting the #include "BitBltInterna" first then we avoid the config.h issue but discover that the bitblt code relies upon many defines and typedefs found in stdint.h. Eventually I noticed the order used in some of the other files and replicating that seems to build OK.
It builds and runs OK, so far. Running SUnit from the About Squeak window ran for ages but appears to have got stuck in an unresponsive loop related to image segment loading. Using the TestRunner it seems to run everything.
So, clearly the new bitblt code should be merged. Ben's pull request has all the details except of course the #include order in BitBltArm64.c BitBltDispatch.c BitBltGeneric.c
If I try to do the git-dance it will almost certainly cause servers to melt and creatures from the Dho-Na regions will break through. 2021 is bad enough without that...
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: SDL: Shift Disk Left
vm-dev@lists.squeakfoundation.org