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

World: r3wp

[!REBOL3 Host Kit]

Maxim
24-Oct-2010
[323]
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?
Andreas
26-Oct-2010
[365]
A107 had a Linux version yes.
ssolie
26-Oct-2010
[366]
that is true.. I couldn't find a 109 version
Andreas
26-Oct-2010
[367]
Because there is none.
Maxim
26-Oct-2010
[368]
did you get a host kit for the amiga from carl?
ssolie
26-Oct-2010
[369]
No I did not
Andreas
26-Oct-2010
[370]
(And if you diff A107 Linux against the Win32 version, you'll see 
the base for my "Lazyness" comment.)
ssolie
26-Oct-2010
[371x2]
He pointed me at the windoze one ;)
A109