[Cuis-dev] Real Joy on Linux was ( Updates to VectorGraphics and precompiled MacVM)
Gerald Klix
cuis.01 at klix.ch
Fri May 21 01:09:40 PDT 2021
Change to VMMaker turned out to be trivial.
Will test the generated VM(s) now.
HTH and Best Regards,
Gerald
On 2021-05-21 09:42, Gerald Klix via Cuis-dev wrote:
> It compiles when I add "#include "config.h" as
> the very first include directive.
>
> Since it's so simple, I will try to fix Cuis' VMMaker code.
>
>
> HTH and Best Regards,
>
> Gerald
>
>
>
> On 2021-05-21 08:23, Gerald Klix via Cuis-dev wrote:
>> Hi Juan, Hoi Folks,
>>
>> As expected it does not compile on Linux.
>> It still has the include order problem.
>> I added the compilation log.
>>
>> In the meanwhile I will try to tweak the
>> the include order in the generated code.
>> I presume someone more familiar with VMMaker
>> tahn me, then knows what parts of VMMaker need
>> to be tweaked to archive the desired result.
>>
>>
>> Best Regards,
>>
>> Gerald
>>
>>
>>
>> On 2021-05-20 21:18, Gerald Klix via Cuis-dev wrote:
>>> Will give it a shot tomorrow morning (about
>>> 08 UTC). Will start with Linux AMD64 and
>>> clang version 12.
>>>
>>>
>>> Best Regards,
>>>
>>> Gerald
>>>
>>>
>>>
>>> On 2021-05-20 15:56, Juan Vuletich via Cuis-dev wrote:
>>>> Hi Folks,
>>>>
>>>> Recently, I've been working on improving the VectorGraphics plugin.
>>>> I added a new primitive that will help quick display of SVG icons.
>>>> Please pull all repos.
>>>>
>>>> An updated Mac VM is available at
>>>> https://www.dropbox.com/sh/6xzdebt158ha1cc/AAAW2LxSYHOSZ8PTfhC9XIs0a?dl=0
>>>> .
>>>>
>>>> If you are able to build VMs, please try generating
>>>> VectorEnginePlugin from the updated VMMaker and Cuis-Smalltalk-Dev
>>>> repos, build for your platform, test, and share the precompiled VMs
>>>> with us.
>>>>
>>>> To see a possible use of the new primitive, play with M3Exp01Morph.
>>>>
>>>> Another change I made is the possibility of not doing subpixel anti
>>>> aliasing, that is not really needed for high dpi displays. This
>>>> improves drawing performance and saves memory, sacrificing little
>>>> quality. The choice is done in VectorGraphicsEngine class >>
>>>> #onForm: . After modifying this method, simply resize a bit the main
>>>> Cuis window, so new Canvas and Engine are created.
>>>>
>>>> Cheers,
>>>>
>>>
>>
-------------- next part --------------
'From Haver 5.0 [latest update: #4607] on 21 May 2021 at 10:03:05 am'!
!VMPluginCodeGenerator methodsFor: 'C code generator' stamp: 'KLG 5/21/2021 09:58:44'!
emitCHeaderOn: aStream
"Write a C file header onto the given stream."
aStream nextPutAll: '/* '.
aStream nextPutAll: VMMaker headerNotice.
aStream nextPutAll: ' */';cr.
aStream nextPutAll: (self fileHeaderVersionStampForSourceClass: vmClass).
aStream cr; cr.
aStream nextPutAll:'
#include "config.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
/* Default EXPORT macro that does nothing (see comment in sq.h): */
#define EXPORT(returnType) returnType
/* Do not include the entire sq.h file but just those parts needed. */
/* The virtual machine proxy definition */
#include "sqVirtualMachine.h"
/* Configuration options */
#include "sqConfig.h"
/* Platform specific definitions */
#include "sqPlatformSpecific.h"
#define true 1
#define false 0
#define null 0 /* using ''null'' because nil is predefined in Think C */
#ifdef SQUEAK_BUILTIN_PLUGIN
#undef EXPORT
// was #undef EXPORT(returnType) but screws NorCroft cc
#define EXPORT(returnType) static returnType
#endif
'.
"Additional header files"
self emitHeaderFilesOn: aStream.
aStream nextPutAll: '
#include "sqMemoryAccess.h"
'.
aStream cr.! !
More information about the Cuis-dev
mailing list