r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3 Host Kit]

Maxim
23-Oct-2010
[315x4]
no AA control yet..  though you can usually force it manually within 
your gfx card driver.
note that this release will not actually be usefull for any application 
work, its just a proof of concept which hopefully will allow Carl 
and others to see just how flexible the host-kit already is.
Andreas, \thanks for the Fix notes (posted int !REBOL3 group)


I'll add your changes to my A109 and embed the latest CGR code into 
it.  I'll to release this by tomorrow, but no guarantees, i've got 
a lot of other stuff to do.
I was able to compile the A109 hostic using msvc v9.
Maxim
24-Oct-2010
[319]
I just noticed there is no real license terms in the host-kit distributions 
... an oversight?
Andreas
24-Oct-2010
[320]
The license is unfinished ...
Maxim
24-Oct-2010
[321x3]
I just crapped one of the files of my custom host kit environment... 
doh... just as I was doing a backup.
trying a disk restore app to find it in the deleted files on disk.
ah.... just found out that I setup my merge app to store backups 
on all file saves  :-)   yay.
Kaj
24-Oct-2010
[324]
The most stringent thing it says now is "do not distribute"
Maxim
25-Oct-2010
[325x2]
I can't seem to be able to use the function 'REPLACE from within 
the init code of an extension under A109.   

in A107, using the same source code I have no problems

but now (in A109) I get this error:
** Script error: replace word is not bound to a context
yep... just removing the replace function all is good.   so I guess 
the replace function is missing from whatever context is setup when 
an extension's module is loaded.
BrianH
25-Oct-2010
[327x3]
That should not happen. it would make sense for some words to be 
undefined but not REPLACE.
In a fresh console:
>> in lib to-word "replace"
== replace
>> sys/load-module "rebol [] print type? :replace"
function!
== [none make module! [
    ]]

So that is not the problem - REPLACE is defined in lib at startup.
The extension module source is loaded the same way as other modules. 
Are you using a different boot level?
Maxim
25-Oct-2010
[330]
no, see CC ticket 1716 for full details.
BrianH
25-Oct-2010
[331]
Are you loading the extension in host code before the mezzanines 
are loaded?
Maxim
25-Oct-2010
[332]
ah ... not sure what you mean, but not doing anything fancy. wrt 
extension.
BrianH
25-Oct-2010
[333x2]
Does the extension work if you load it in regular R3? At the console?
Host code goes through a process at load time and loading most of 
the mezzanines happens later in the process. If you load your extension 
before the mezzanines finish loading, no REPLACE.
Maxim
25-Oct-2010
[335]
the extension is embedded and loaded just after all graphics, I am 
not sure.
BrianH
25-Oct-2010
[336x2]
I went through this with the module system, where 'to and 'word were 
defined but 'to-word wasn't.
sorry, 'word!
Maxim
25-Oct-2010
[338]
hum.. this seems like an annoying limitation (in the least it must 
bewell documented)....  I'll see if there's another place I can call 
the RL_extend() on my embeded extension so it has access to mezz 
code.
BrianH
25-Oct-2010
[339x3]
I wonder if the system is more efficient because we don't use the 
higher level mezzanines, because they aren't available.
I didn't notice at first because I mostly use natives.
Something occurred to me after I left torun errands: You could use 
options: [delay]. Your extension object would be loaded, but the 
module itself wouldn't be imported until the first time you refer 
to it with the IMPORT function or a Needs header. That way you can 
run the RL_Extend whenever you want, but delay actually setting up 
the extension until the runtime is in place.
Maxim
26-Oct-2010
[342]
that might work.  I could put the needs to the cgr module within 
the opengl-cgr... I'll try that.
ssolie
26-Oct-2010
[343x2]
I'm trying to compile a host-kit for amiga.. getting an error from 
RL_Init() stating Host-lib wrong size
what is the "correct" size?
Maxim
26-Oct-2010
[345x4]
that is probably because struct alignment is not set to 4 bytes.
though it could be something else too.. let me check IIRC
ok in the include file  "host-lib.h"

there is an entry at the begining that says:

#define HOST_LIB_SIZE 31
its possible that the amiga core.library has a different number than 
what is in the include.
Andreas
26-Oct-2010
[349]
ssolie, try a size of 33.
Maxim
26-Oct-2010
[350]
if you have an Amiga specific host kit and are trying to merge the 
View stuff into it, I'd refer to the amiga host-kit and retro-fit 
that...
Andreas
26-Oct-2010
[351x2]
That's what's needed on Linux, and I think the Amiga .so will be 
based on the Linux .so.
(Unless you already have 33, then try 31 :)
ssolie
26-Oct-2010
[353]
so the HOST_LIB_SIZE must match whatever the libr3.so thinks it should 
be?
Andreas
26-Oct-2010
[354]
Yep.
ssolie
26-Oct-2010
[355]
that isn't the same for all platforms?
Andreas
26-Oct-2010
[356]
Nope, unfortunately not.
ssolie
26-Oct-2010
[357]
kinda strange.. what is the rationale for that?
Andreas
26-Oct-2010
[358]
Lazyness.
ssolie
26-Oct-2010
[359]
lol
Maxim
26-Oct-2010
[360]
this should reflect what is the latest revision of the API compiled 
in the core.
Andreas
26-Oct-2010
[361]
Carl changed a few things in Win32, but never got around to propagating 
that to other plafs.
ssolie
26-Oct-2010
[362]
the HOST_LIB_SIZE is generated via a script according to the header 
comments
Andreas
26-Oct-2010
[363]
Are you working based on the Win32 A109 hostkit?
ssolie
26-Oct-2010
[364]
yes.. is there a linux one?