Could someone help me out a bit here:

* I'm unaware of any mechanism for "ignoring" an entire framework. Was 
something added for that purpose?

* What "non-MCA" projects are in our repository? Everything appears to be based 
on MCA plugins.

* Looking at Trac, we eliminated all project/config directories when we did the 
OMPI-RTE abstraction. So what are we looping across at the end of autogen?

Thanks
Ralph


On May 6, 2013, at 4:05 PM, svn-commit-mai...@open-mpi.org wrote:

> Author: naughtont (Thomas Naughton)
> Date: 2013-05-06 19:05:18 EDT (Mon, 06 May 2013)
> New Revision: 28456
> URL: https://svn.open-mpi.org/trac/ompi/changeset/28456
> 
> Log:
> Updates to autogen.pl:
> +  Add ifdef guard to project's autogenerated "frameworks.h" header file,
>   e.g., "opal/inlude/opal/frameworks.h" would have "OPAL_FRAMEWORKS_H".
> 
> + Avoid adding "ignored" frameworks to the autogenerated "frameworks.h"
>  header file.
> 
> + Avoid adding non-MCA projects to the autogenerated 'mca_project_list',
>  which maintains existing support for "projects" with new MCA framework 
>  enhancements.  Moves this down to mca_run_global().
> 
> + Add small loop at end to add projects with a "config/" subdir
>  to the list of includes for 'autoreconf'.
> 
> Text files modified: 
>   trunk/autogen.pl |    45 +++++++++++++++++++++++++++++---------- 
>   1 files changed, 33 insertions(+), 12 deletions(-)
> 
> Modified: trunk/autogen.pl
> ==============================================================================
> --- trunk/autogen.pl  Mon May  6 18:00:45 2013        (r28455)
> +++ trunk/autogen.pl  2013-05-06 19:05:18 EDT (Mon, 06 May 2013)      (r28456)
> @@ -376,16 +376,22 @@
>         }
>     }
> 
> +    my $ifdef_string = uc "${project}_FRAMEWORKS_H";
>     open(FRAMEWORKS_OUT, ">$project/include/$project/frameworks.h");
>     printf FRAMEWORKS_OUT "%s", "/*
>  * This file is autogenerated by autogen.pl. Do not edit this file by hand.
>  */
> +#ifndef $ifdef_string
> +#define $ifdef_string
> +
> #include <opal/mca/base/mca_base_framework.h>
> 
> $framework_decl_output
> static mca_base_framework_t *${project}_frameworks[] = {
> $framework_array_output    NULL
> -};\n";
> +};
> +
> +#endif /* $ifdef_string */\n\n";
>     close(FRAMEWORKS_OUT);
> }
> 
> @@ -447,6 +453,19 @@
>     # Debugging output
>     debug_dump($mca_found);
> 
> +    # Save (just) the list of MCA projects in the m4 file
> +    my $str;
> +    foreach my $p (@$projects) {
> +        my $pname = $p->{name};
> +        # Check if this project is an MCA project (contains MCA framework)
> +        if (exists($mca_found->{$pname})) {
> +            $str .= "$p->{name}, ";
> +        }
> +    }
> +    $str =~ s/, $//;
> +    $m4 .= "\ndnl List of MCA projects found by autogen.pl
> +m4_define([mca_project_list], [$str])\n";
> +
>     #-----------------------------------------------------------------------
> 
>     $m4 .= "\n$dnl_line
> @@ -485,7 +504,14 @@
>                 push(@tmp, $f)
>                     if ($f ne "common");
>             }
> -            @mykeys = @tmp;
> +
> +            # Then, check ignore status and prume ignored frameworks
> +            @mykeys = ();
> +            my $dir = "$topdir/$pdir/mca";
> +            foreach my $f (@tmp) {
> +                push(@mykeys, $f)
> +                    if (!ignored("$dir/$f"));
> +            }
> 
>             foreach my $f (@mykeys) {
>                 $frameworks_comma .= ", $f";
> @@ -1175,16 +1201,7 @@
> push(@{$projects}, { name => "ompi", dir => "ompi", need_base => 1 })
>     if (!$no_ompi_arg);
> 
> -# Save the list of projects in the m4 file
> -my $str;
> -foreach my $p (@$projects) {
> -    $str .= "$p->{name}, ";
> -}
> -$str =~ s/, $//;
> -$m4 .= "dnl List of projects found by autogen.pl
> -m4_define([mca_project_list], [$str])
> -
> -dnl Separate m4 define for each project\n";
> +$m4 .= "dnl Separate m4 define for each project\n";
> foreach my $p (@$projects) {
>     $m4 .= "m4_define([project_$p->{name}], [1])\n";
> }
> @@ -1251,6 +1268,10 @@
> verbose "==> Running autoreconf\n";
> chdir("..");
> my $cmd = "autoreconf -ivf --warnings=all,no-obsolete,no-override -I config";
> +foreach my $project (@{$projects}) {
> +    $cmd .= " -I $project->{dir}/config"
> +        if (-d "$project->{dir}/config");
> +}
> safe_system($cmd);
> 
> #---------------------------------------------------------------------------
> _______________________________________________
> svn mailing list
> s...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/svn


Reply via email to