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

Subversion Repositories socgen

[/] [socgen/] [trunk/] [tools/] [sys/] [build_generate] - Diff between revs 130 and 131

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

Rev 130 Rev 131
Line 68... Line 68...
 
 
Getopt::Long::config("require_order", "prefix=-");
Getopt::Long::config("require_order", "prefix=-");
GetOptions("h","help",
GetOptions("h","help",
           "prefix=s" => \$prefix,
           "prefix=s" => \$prefix,
           "vendor=s" => \$vendor,
           "vendor=s" => \$vendor,
           "project=s" => \$project,
           "library=s" => \$library,
           "component=s" => \$component,
           "component=s" => \$component,
           "version=s" => \$version
           "version=s" => \$version
) || die "(use '$program_name -h' for help)";
) || die "(use '$program_name -h' for help)";
 
 
 
 
##############################################################################
##############################################################################
## Help option
## Help option
##############################################################################
##############################################################################
if ( $opt_h or $opt_help )   { print "\n build_generate -prefix /work -vendor vendor_name -project project_name -component component_name -version version_name ";
if ( $opt_h or $opt_help )   { print "\n build_generate -prefix /work -vendor vendor_name -library library_name -component component_name -version version_name ";
    print "\n";
    print "\n";
    exit 1;
    exit 1;
  }
  }
 
 
 
 
Line 99... Line 99...
#############################################################################
#############################################################################
 
 
 
 
 
 
 
 
print "\nGENERATE  $prefix  $vendor  $project  $component $version \n" ;
#print "\n FFFFFFFFFFFF        GENERATE  $prefix  $vendor  $library  $component $version \n" ;
 
 
 
 
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,$library,$component);
 
 
 
 
 
 
 
 
 
 
Line 121... Line 121...
#/  Create filelists for simulation, synthesis and linting                                    */
#/  Create filelists for simulation, synthesis and linting                                    */
#/                                                                                            */
#/                                                                                            */
#/                                                                                            */
#/                                                                                            */
#/*********************************************************************************************/
#/*********************************************************************************************/
 
 
my  @filelist =       yp::lib::parse_component_brothers("$vendor","$project","$component","$version");
my  @filelist =       yp::lib::parse_component_brothers("$vendor","$library","$component","$version");
 
 
foreach $line (@filelist)
foreach $line (@filelist)
   {
   {
   $_ = $line;
   $_ = $line;
   if(/::(\S+)::(\S+)::(\S+)::(\S+)::/)
   if(/::(\S+)::(\S+)::(\S+)::(\S+)::/)
     {
     {
     $new_project        = $2;
     $new_library        = $2;
     $new_component      = $3;
     $new_component      = $3;
     $new_vendor         = $1;
     $new_vendor         = $1;
     $new_version        = $4;
     $new_version        = $4;
#     print " FFFFFFFFFFFFFFFF  Brother      $new_vendor  $new_project  $new_component $new_version \n" ;
#     print " FFFFFFFFFFFFFFFF  Brother      $new_vendor  $new_library  $new_component $new_version \n" ;
 
 
     my $spirit_component_file    = $parser->parse_file(yp::lib::find_ipxact_component($new_vendor,$new_project,$new_component,$new_version));
     my $spirit_component_file    = $parser->parse_file(yp::lib::find_ipxact_component($new_vendor,$new_library,$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('../spirit:name/text()')->to_literal ;
       my($gen_name)            = $i_name ->findnodes('../spirit:name/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 ;
#       print " FFFFFFFFFFFFFFFF    $gen_name     $gen_generatorExe    \n" ;
#       print " FFFFFFFFFFFFFFFF    $gen_name     $gen_generatorExe    \n" ;
 
 
       my $cmd;
       my $cmd;
       $cmd = "   -prefix $prefix -vendor $vendor -project $project -component $component -version $version  ";
       $cmd = "   -prefix $prefix -vendor $vendor     -library $library  -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 ;
 
 
          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}__${library}${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}__${library}${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";}
          }
          }
 
 
       foreach  my   $i_name ($spirit_component_file->findnodes("//spirit:componentGenerator[spirit:name/text() = '$gen_name']/spirit:vendorExtensions/socgen:envIdentifier"))
       foreach  my   $i_name ($spirit_component_file->findnodes("//spirit:componentGenerator[spirit:name/text() = '$gen_name']/spirit:vendorExtensions/socgen:envIdentifier"))

powered by: WebSVN 2.1.0

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