List Info

Thread: Trying to write RVCT support




Trying to write RVCT support
country flaguser name
United States
2007-06-07 01:29:38
 Hello,
 
Our development toolchain was changed because of external conditions from a 
reasonably fast CodeWarrior based build process to a windows batch file + 
perl + make voodoo process which is horribly slow (a trivial change to 1 cpp 
file + compile takes ~10 minutes).
 
I'm trying to quickly implement BBv2 support for armcc and armlink for RVCT 
2.2 sp1 (as well as for the OS and standard library our platform uses but 
first thing is first).
 
I tried hacking a few of the files in the v2/tools directory and borland 
seemed to be the simplest so I started from it.
 
I've attached what I've been able to come up with so far.
 
Trying to compile a test project gives:
 
C:Codengi_bbv2audioexprojectsbbv2>bjam toolset=rvct
 C:/Code/ngi_bbv2/boost_build/v2/kernelmodules.jam:66: in modules.call-in
 rule rvct.link unknown in module rvct.
 C:/Code/ngi_bbv2/boost_build/v2/utilindirect.jam:82: in indirect.call
 ;C:/Code/ngi_bbv2/boost_build/v2/buildvirtual-target.jam:720: in 
object(action)123.actualize
 C:/Code/ngi_bbv2/boost_build/v2/buildvirtual-target.jam:274: in 
actualize-action
 C:/Code/ngi_bbv2/boost_build/v2/buildvirtual-target.jam:467: in 
actualize-no-scanner
 C:/Code/ngi_bbv2/boost_build/v2/buildvirtual-target.jam:111: in 
object(file-target)124.actualize
 C:/Code/ngi_bbv2/boost_build/v2build-system.jam:476: in load
 ;C:Codengi_bbv2.boost_buildv2kernelmodules.jam:261: in import
 C:Codengi_bbv2.boost_buildv2kernelbootstrap.jam:132: in boost-build
 C:Codengi_bbv2boost-build.jam:1: in module scope
 
 
I really have no idea what I'm doing, as I don't understand Jam or 
Boost.Build despite trying to digest the documentation several times.  Could ;
someone give me a hand or at least point me in the right direction.
 
Thanks,
 
Michael Marcin
 
 ;
P.S. ; If needed the relevant documentation for the compiler can be found at:
http://www.arm.com/documentation/Software_Development_Tools/index.html
 
or more specifically:
http://www.arm.com/pdfs/DUI0205F_rvct_compiler_and_libraries_guide.pdf
http://www.arm.com/pdfs/DUI0206F_rvct_linker_and_utilities_guide.pdf
http://www.arm.com/support/RVCT2.2_SP1_Errors_and_Warnings.pdf 

  
Re: Trying to write RVCT support
country flaguser name
Russian Federation
2007-06-07 02:32:06
Michael Marcin wrote:

>  Hello,
>  
> Our development toolchain was changed because of
external conditions from
> a reasonably fast CodeWarrior based build process to a
windows batch file
> + perl + make voodoo process which is horribly slow (a
trivial change to 1
> cpp file + compile takes ~10 minutes).
>  
> I'm trying to quickly implement BBv2 support for armcc
and armlink for
> RVCT 2.2 sp1 (as well as for the OS and standard
library our platform uses
> but first thing is first).
>  
> I tried hacking a few of the files in the v2/tools
directory and borland
> seemed to be the simplest so I started from it.
>  
> I've attached what I've been able to come up with so
far.
>  
> Trying to compile a test project gives:
>  
> C:Codengi_bbv2audioexprojectsbbv2>bjam
toolset=rvct
>  C:/Code/ngi_bbv2/boost_build/v2/kernelmodules.jam:66:
in modules.call-in
>  rule rvct.link unknown in module rvct.

Sure enough. You have this:

        generators.register-linker rvct.link : OBJ
SEARCHED_LIB STATIC_LIB IMPORT_LIB : EXE :
<toolset>rvct ;

which basically say: "to produce EXE", use
action/rule pair called "rvct.link".
You can read more about action/rule pairs at the bottom of
generators.register-linker rvct.link : OBJ SEARCHED_LIB
STATIC_LIB IMPORT_LIB : EXE : <toolset>rvct ;

However, you don't have any action name 'link' in your
rvct.jam. While borland.jam has
something like:

        actions link
        {
            $(.set-path)$(.root:W)$(.old-path)
"$(CONFIG_COMMAND)" -v -q $(OPTIONS)
-L"$(LIBRARY_PATH:W)"
-L"$(STDLIBPATH:W)" -e"$(<[1]:W)"
"($(<[1]:W).rsp:E=$(nl)"$(>)"
$(nl)$(LIBRARIES)
$(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)"
$(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")&quo
t;
        }

you don't have anything like that. Basically, you did not
say what command should be used
for linking. I presume you've just forgot to add that.

- Volodya




        

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: Trying to write RVCT support
country flaguser name
United States
2007-06-07 15:30:09
Vladimir Prus wrote:
> However, you don't have any action name 'link' in your
rvct.jam.
> While borland.jam has 
> something like:
> 
>        actions link
>        {
>            $(.set-path)$(.root:W)$(.old-path)
"$(CONFIG_COMMAND)" -v
>        -q $(OPTIONS) -L"$(LIBRARY_PATH:W)"
-L"$(STDLIBPATH:W)"
> -e"$(<[1]:W)" "($(<[1]:W).rsp:E=$(nl)"$(>)"
$(nl)$(LIBRARIES)
>
$(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)"
>
$(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")&quo
t; }   
> 
> you don't have anything like that. Basically, you did
not say what
> command should be used 
> for linking. I presume you've just forgot to add that.

Doh! I only copied part of the borland.jam file I forgot to
scroll down.

This gets me further but I still have a long way to go.

Thanks,

Michael Marcin
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )