Building the MPIs can double the amount of time it takes to build and
install OFED.  Since not all user configurations require MPI to be
install (per the ongoing thread on the EWG mailing list), it is
preferable to have an option on the menu to exclude building and
installing MPIs.  The default behavior is unchanged.

Signed-Off-By: Jon Mason <j...@opengridcomputing.com>
---

diff --git a/install.pl b/install.pl
index 92f1533..425ffe4 100755
--- a/install.pl
+++ b/install.pl
@@ -50,8 +50,10 @@ my $KEY_ENTER=13;
 
 my $BASIC = 1;
 my $HPC = 2;
-my $ALL = 3;
-my $CUSTOM = 4;
+my $ABM = 3;
+my $MPI = 4;
+my $ALL = 5;
+my $CUSTOM = 6;
 
 my $interactive = 1;
 my $quiet = 0;
@@ -357,7 +359,7 @@ my @user_packages = ("libibverbs", "libibverbs-devel", 
"libibverbs-devel-static"
                      "perftest", "mstflint", "tvflash",
                      "qlvnictools", "sdpnetstat", "srptools", "rds-tools", 
"rnfs-utils",
                      "ibutils", "infiniband-diags", "qperf", "qperf-debuginfo",
-                     "ofed-docs", "ofed-scripts", "tgt-generic", @mpi_packages
+                     "ofed-docs", "ofed-scripts", "tgt-generic",
                      );
 
 my @basic_kernel_packages = ("kernel-ib");
@@ -369,11 +371,13 @@ my @hpc_kernel_packages = ("kernel-ib", "ib-bonding");
 my @hpc_kernel_modules = (@basic_kernel_modules);
 my @hpc_user_packages = (@basic_user_packages, "librdmacm",
                         "librdmacm-utils", "compat-dapl", "compat-dapl-devel", 
"dapl", "dapl-devel", "dapl-devel-static", "dapl-utils",
-                        "infiniband-diags", "ibutils", "qperf", "mstflint", 
"perftest", @mpi_packages);
+                        "infiniband-diags", "ibutils", "qperf", "mstflint", 
"perftest");
+
+my @abm_packages = (@kernel_packages, @user_packages);
 
 # all_packages is required to save ordered (following dependencies) list of
 # packages. Hash does not saves the order
-my @all_packages = (@kernel_packages, @user_packages);
+my @all_packages = (@abm_packages, @mpi_packages);
 
 my %kernel_modules_info = (
         'core' =>
@@ -2016,11 +2020,13 @@ sub show_menu
     elsif ($menu eq "select") {
         print "$PACKAGE Distribution Software Installation Menu\n\n";
         print "   1) Basic ($PACKAGE modules and basic user level 
libraries)\n";
-        print "   2) HPC ($PACKAGE modules and libraries, MPI and diagnostic 
tools)\n";
-        print "   3) All packages (all of Basic, HPC)\n";
-        print "   4) Customize\n";
+        print "   2) HPC ($PACKAGE modules and libraries, and diagnostic 
tools)\n";
+        print "   3) Everything except MPI\n";
+        print "   4) MPI Only\n";
+        print "   5) All packages (all of Basic, HPC, MPI)\n";
+        print "   6) Customize\n";
         print "\n   Q) Exit\n";
-        $max_inp=4;
+        $max_inp=6;
         print "\nSelect Option [1-$max_inp]:"
     }
 
@@ -2083,6 +2089,25 @@ sub select_packages
                 print CONFIG "$module=y\n";
             }
         }
+        elsif ($inp == $ABM) {
+            for my $package ( @abm_packages ) {
+                next if (not $packages_info{$package}{'available'});
+                push (@selected_by_user, $package);
+                $cnt ++;
+            }
+            for my $module ( @kernel_modules ) {
+                next if (not $kernel_modules_info{$module}{'available'});
+                push (@selected_modules_by_user, $module);
+                print CONFIG "$module=y\n";
+            }
+        }
+        elsif ($inp == $MPI) {
+            for my $package ( @mpi_packages ) {
+                next if (not $packages_info{$package}{'available'});
+                push (@selected_by_user, $package);
+                $cnt ++;
+            }
+        }
         elsif ($inp == $ALL) {
             for my $package ( @all_packages, @hidden_packages ) {
                 next if (not $packages_info{$package}{'available'});
_______________________________________________
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg

Reply via email to