OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

[/] [socgen/] [trunk/] [tools/] [sys/] [build_generate] - Diff between revs 127 and 128

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 127 Rev 128
Line 105... Line 105...
 
 
 
 
my $parser = XML::LibXML->new();
my $parser = XML::LibXML->new();
 
 
my $lib_comp_sep    = yp::lib::find_lib_comp_sep($vendor,$project,$component);
my $lib_comp_sep    = yp::lib::find_lib_comp_sep($vendor,$project,$component);
my $spirit_component_file    = $parser->parse_file(yp::lib::find_ipxact("spirit:component",$vendor,$project,$component,$version));
 
 
 
foreach my $view ($spirit_component_file->findnodes('//spirit:component/spirit:model/spirit:views/spirit:view'))
 
       {
 
       my($view_name)   = $view->findnodes('./spirit:name/text()')->to_literal ;
 
 
 
       #/**********************************************************************/
 
       #/*                                                                    */
 
       #/*                                                                    */
 
       #/*                                                                    */
 
       #/*                                                                    */
 
       #/*                                                                    */
 
       #/**********************************************************************/
 
 
#/*********************************************************************************************/
 
#/                                                                                            */
 
#/  Create filelists for simulation, synthesis and linting                                    */
 
#/                                                                                            */
 
#/                                                                                            */
 
#/*********************************************************************************************/
 
 
 
my  @filelist =       yp::lib::parse_component_brothers("$vendor","$project","$component","$version");
 
 
 
foreach $line (@filelist)
 
   {
 
   $_ = $line;
 
   if(/::(\S+)::(\S+)::(\S+)::(\S+)::/)
 
     {
 
     $new_project        = $2;
 
     $new_component      = $3;
 
     $new_vendor         = $1;
 
     $new_version        = $4;
 
#     print " FFFFFFFFFFFFFFFF  Brother      $new_vendor  $new_project  $new_component $new_version \n" ;
 
 
 
     my $spirit_component_file    = $parser->parse_file(yp::lib::find_ipxact("spirit:component",$new_vendor,$new_project,$new_component,$new_version));
 
 
       foreach  my   $i_name ($spirit_component_file->findnodes("//spirit:componentGenerator/spirit:name"))
       foreach  my   $i_name ($spirit_component_file->findnodes("//spirit:componentGenerator/spirit:name"))
          {
          {
          my($gen_name)            = $i_name ->findnodes('./text()')->to_literal ;
       my($gen_name)            = $i_name ->findnodes('../spirit:name/text()')->to_literal ;
          my($gen_phase)           = $i_name ->findnodes('../spirit:phase/text()')->to_literal ;
 
          my($gen_apiType)         = $i_name ->findnodes('../spirit:apiType/text()')->to_literal ;
 
          my($gen_generatorExe)    = $i_name ->findnodes('../spirit:generatorExe/text()')->to_literal ;
          my($gen_generatorExe)    = $i_name ->findnodes('../spirit:generatorExe/text()')->to_literal ;
          my($gen_group)           = $i_name ->findnodes('../spirit:group/text()')->to_literal ;
#       print " FFFFFFFFFFFFFFFF    $gen_name     $gen_generatorExe    \n" ;
 
 
          my $cmd;
          my $cmd;
          $cmd =
       $cmd = "   -prefix $prefix -vendor $vendor -project $project -component $component -version $version  ";
          "${gen_generatorExe} -view $view_name -prefix $prefix -vendor $vendor -project $project -component $component -version $version  ";
 
 
 
          foreach  my   $i_name ($spirit_component_file->findnodes("//spirit:componentGenerator[spirit:name/text() = '$gen_name']/spirit:parameters/spirit:parameter"))
          foreach  my   $i_name ($spirit_component_file->findnodes("//spirit:componentGenerator[spirit:name/text() = '$gen_name']/spirit:parameters/spirit:parameter"))
             {
             {
             my($gen_param)             = $i_name ->findnodes('./spirit:value/text()')->to_literal ;
             my($gen_param)             = $i_name ->findnodes('./spirit:value/text()')->to_literal ;
             my($gen_param_name)        = $i_name ->findnodes('./spirit:name/text()')->to_literal ;
             my($gen_param_name)        = $i_name ->findnodes('./spirit:name/text()')->to_literal ;
Line 141... Line 155...
             if   ($gen_param_name eq "in_pipe")     {$cmd =  "$cmd <${home}${prefix}/${vendor}__${project}${lib_comp_sep}/${component}/${gen_param}";}
             if   ($gen_param_name eq "in_pipe")     {$cmd =  "$cmd <${home}${prefix}/${vendor}__${project}${lib_comp_sep}/${component}/${gen_param}";}
             elsif($gen_param_name eq "out_pipe")    {$cmd =  "$cmd >${home}${prefix}/${vendor}__${project}${lib_comp_sep}/${component}/${gen_param}";}
             elsif($gen_param_name eq "out_pipe")    {$cmd =  "$cmd >${home}${prefix}/${vendor}__${project}${lib_comp_sep}/${component}/${gen_param}";}
             elsif($gen_param_name)                  {$cmd =  "$cmd -${gen_param_name} $gen_param ";}
             elsif($gen_param_name)                  {$cmd =  "$cmd -${gen_param_name} $gen_param ";}
             else                                    {$cmd =  "$cmd $gen_param";}
             else                                    {$cmd =  "$cmd $gen_param";}
             }
             }
             $cmd =  "${cmd}\n";
 
 
 
             if($gen_group)
       foreach  my   $i_name ($spirit_component_file->findnodes("//spirit:componentGenerator[spirit:name/text() = '$gen_name']/spirit:vendorExtensions/socgen:envIdentifier"))
               {
               {
               if($gen_group eq $view_name )
          my($gen_envidentifier)  = $i_name ->findnodes('./text()')->to_literal ;
 
 
 
          my $New_cmd =  "  ${gen_generatorExe}  -envidentifier $gen_envidentifier      ${cmd}\n";
 
          if(${gen_generatorExe} )
                 {
                 {
                 if (system($cmd)) {}
              if (system($New_cmd)) {}
                 }
                 }
               }
               }
             else
 
               {
 
               if (system($cmd)) {}
 
               }
               }
          }
          }
       }
       }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.