Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [OMPI svn] svn:open-mpi r28456 - trunk
From: Ralph Castain (rhc_at_[hidden])
Date: 2013-05-06 22:39:55


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-mailer_at_[hidden] 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
> svn_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/svn