Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix --with-hwloc=external #2955

Merged
merged 3 commits into from
Feb 28, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 20 additions & 3 deletions autogen.pl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
#
# Copyright (c) 2009-2016 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2009-2017 Cisco Systems, Inc. All rights reserved
# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013 Mellanox Technologies, Inc.
# All rights reserved.
Expand Down Expand Up @@ -432,11 +432,28 @@ sub mca_process_project {
next
if (! -d "$dir/$d" || $d eq "base" || substr($d, 0, 1) eq ".");

# If this directory has a $dir.h file and a base/
my $framework_header = "$dir/$d/$d.h";

# If there's a $dir/$d/autogen.options file, read it
my $ao_file = "$dir/$d/autogen.options";
if (-r $ao_file) {
verbose "\n>>> Found $dir/$d/autogen.options file\n";
open(IN, $ao_file) ||
die "$ao_file present, but cannot open it";
while (<IN>) {
if (m/\s*framework_header\s*=\s*(.+?)\s*$/) {
verbose " Framework header entry: $1\n";
$framework_header = "$dir/$d/$1";
}
}
close(IN);
}

# If this directory has a framework header and a base/
# subdirectory, or its name is "common", then it's a
# framework.
if ("common" eq $d || !$project->{need_base} ||
(-f "$dir/$d/$d.h" && -d "$dir/$d/base")) {
(-f $framework_header && -d "$dir/$d/base")) {
verbose "\n=== Found $pname / $d framework\n";
mca_process_framework($topdir, $project, $d);
}
Expand Down
3 changes: 2 additions & 1 deletion ompi/mca/topo/treematch/topo_treematch_dist_graph_create.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
* and Technology (RIST). All rights reserved.
* Copyright (c) 2016 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2017 Cisco Systems, Inc. All rights reserved
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand All @@ -20,7 +21,7 @@
#include "ompi_config.h"

#include "opal/constants.h"
#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"

#include "ompi/mca/topo/treematch/topo_treematch.h"
#include "ompi/mca/topo/treematch/treematch/tm_mapping.h"
Expand Down
3 changes: 1 addition & 2 deletions ompi/mca/topo/treematch/treematch/tm_hwloc.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#include <hwloc.h>
#include <hwloc/helper.h>
#include "opal/mca/hwloc/hwloc-internal.h"
#include "tm_tree.h"
#include "tm_mapping.h"
#include <ctype.h>
Expand Down
2 changes: 1 addition & 1 deletion ompi/mca/topo/treematch/treematch/tm_hwloc.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <hwloc.h>
#include "opal/mca/hwloc/hwloc-internal.h"
#include "tm_tree.h"

void hwloc_topology_tag(hwloc_topology_t topology);
Expand Down
2 changes: 1 addition & 1 deletion ompi/mca/topo/treematch/treematch/tm_thread_pool.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include <pthread.h>
#include "tm_thread_pool.h"
#include "tm_verbose.h"
#include <hwloc.h>
#include "opal/mca/hwloc/hwloc-internal.h"
#include "tm_verbose.h"
#include "tm_tree.h"
#include <errno.h>
Expand Down
2 changes: 1 addition & 1 deletion ompi/mca/topo/treematch/treematch/tm_thread_pool.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define THREAD_POOL_H

#include <pthread.h>
#include <hwloc.h>
#include "opal/mca/hwloc/hwloc-internal.h"


typedef struct _work_t{
Expand Down
4 changes: 2 additions & 2 deletions opal/mca/btl/openib/btl_openib.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007-2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2007-2017 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2006-2015 Mellanox Technologies. All rights reserved.
* Copyright (c) 2006-2016 Los Alamos National Security, LLC. All rights
* reserved.
Expand Down Expand Up @@ -84,7 +84,7 @@
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"

#ifndef MIN
#define MIN(a,b) ((a)<(b)?(a):(b))
Expand Down
4 changes: 2 additions & 2 deletions opal/mca/btl/openib/btl_openib_component.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2006-2015 Mellanox Technologies. All rights reserved.
* Copyright (c) 2006-2015 Los Alamos National Security, LLC. All rights
* reserved.
Expand Down Expand Up @@ -59,7 +59,7 @@
know its exact path. We have to rely on the framework header files
to find the right hwloc verbs helper file for us. */
#define OPAL_HWLOC_WANT_VERBS_HELPER 1
#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"
#include "opal/mca/hwloc/base/base.h"
#include "opal/mca/installdirs/installdirs.h"
#include "opal_stdint.h"
Expand Down
9 changes: 2 additions & 7 deletions opal/mca/hwloc/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2011-2016 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved
# Copyright (c) 2016 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
Expand All @@ -9,17 +9,12 @@
# $HEADER$
#

# We do not want -I$(srcdir) in AM_CPPFLAGS, or there can be a
# conflict between system hwloc.h and opal/mca/hwloc/hwloc.h. So just
# set only what we need to AM_CPPFLAGS.
AM_CPPFLAGS = -I$(top_builddir)/opal/include

# main library setup
noinst_LTLIBRARIES = libmca_hwloc.la
libmca_hwloc_la_SOURCES =

# local files
headers = hwloc.h
headers = hwloc-internal.h
libmca_hwloc_la_SOURCES += $(headers)

# Conditionally install the header files
Expand Down
13 changes: 13 additions & 0 deletions opal/mca/hwloc/autogen.options
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Copyright (c) 2017 Cisco Systems, Inc. All rights reserved
# $COPYRIGHT$
#

# Per https://github.com/open-mpi/ompi/issues/2616, we cannot have an
# "hwloc.h" in the framework directory (due to conflicts of finding
# the system hwloc.h file when using "--with-hwloc=external"). Hence,
# we need to deviate from the framework norm of having
# framework/framework.h (i.e., hwloc/hwloc.h). Instead, we'll have
# hwloc/hwloc-internal.h to make sure that this header file can never
# be mistaken for a system-level hwloc.h.

framework_header = hwloc-internal.h
6 changes: 3 additions & 3 deletions opal/mca/hwloc/base/base.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
Expand All @@ -15,7 +15,7 @@

#include "opal/dss/dss_types.h"

#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"

/*
* Global functions for MCA overall hwloc open and close
Expand Down Expand Up @@ -88,7 +88,7 @@ OPAL_DECLSPEC int opal_hwloc_base_set_binding_policy(opal_binding_policy_t *poli

/**
* Loads opal_hwloc_my_cpuset (global variable in
* opal/mca/hwloc/hwloc.h) for this process. opal_hwloc_my_cpuset
* opal/mca/hwloc/hwloc-internal.h) for this process. opal_hwloc_my_cpuset
* will be loaded with this process' binding, or, if the process is
* not bound, use the hwloc root object's (available and online)
* cpuset.
Expand Down
4 changes: 2 additions & 2 deletions opal/mca/hwloc/base/hwloc_base_frame.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011-2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
Expand All @@ -22,7 +22,7 @@
#include "opal/mca/base/base.h"
#include "opal/threads/tsd.h"

#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"
#include "opal/mca/hwloc/base/base.h"


Expand Down
4 changes: 2 additions & 2 deletions opal/mca/hwloc/base/hwloc_base_maffinity.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2016 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
Expand All @@ -13,7 +13,7 @@

#include "opal/constants.h"

#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"
#include "opal/mca/hwloc/base/base.h"


Expand Down
4 changes: 2 additions & 2 deletions opal/mca/hwloc/base/hwloc_base_proc_mempolicy.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand All @@ -12,7 +12,7 @@

#include "opal/constants.h"

#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"
#include "opal/mca/hwloc/base/base.h"


Expand Down
4 changes: 2 additions & 2 deletions opal/mca/hwloc/base/hwloc_base_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2012-2015 Los Alamos National Security, LLC.
* All rights reserved.
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
Expand Down Expand Up @@ -42,7 +42,7 @@
#include "opal/threads/tsd.h"
#include "opal/mca/pmix/pmix.h"

#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"
#include "opal/mca/hwloc/base/base.h"

/*
Expand Down
4 changes: 2 additions & 2 deletions opal/mca/hwloc/configure.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dnl -*- shell-script -*-
dnl
dnl Copyright (c) 2010-2013 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2010-2017 Cisco Systems, Inc. All rights reserved
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
Expand All @@ -13,7 +13,7 @@ dnl
# their priorities in their configure.m4 files. They must also set
# the shell variable $opal_hwloc_base_include to a header file
# name (relative to the top OMPI source directory) that will be
# included in opal/mca/hwloc/hwloc.h.
# included in opal/mca/hwloc/hwloc-internal.h.

dnl We only want one winning component (vs. STOP_AT_FIRST_PRIORITY,
dnl which will allow all components of the same priority who succeed to
Expand Down
4 changes: 2 additions & 2 deletions opal/mca/hwloc/external/configure.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# -*- shell-script -*-
#
# Copyright (c) 2009-2016 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2009-2017 Cisco Systems, Inc. All rights reserved
# Copyright (c) 2014-2016 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
#
Expand Down Expand Up @@ -38,7 +38,7 @@ AC_DEFUN([MCA_opal_hwloc_external_POST_CONFIG],[
[Version of hwloc])

# Set this variable so that the framework m4 knows what
# file to include in opal/mca/hwloc/hwloc.h
# file to include in opal/mca/hwloc/hwloc-internal.h
opal_hwloc_external_basedir=opal/mca/hwloc/external
opal_hwloc_base_include="$opal_hwloc_external_basedir/external.h"

Expand Down
4 changes: 2 additions & 2 deletions opal/mca/hwloc/external/external.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011-2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
*
Expand All @@ -11,7 +11,7 @@
* $HEADER$
*
* When this component is used, this file is included in the rest of
* the OPAL/ORTE/OMPI code base via opal/mca/hwloc/hwloc.h. As such,
* the OPAL/ORTE/OMPI code base via opal/mca/hwloc/hwloc-internal.h. As such,
* this header represents the public interface to this static component.
*/

Expand Down
4 changes: 2 additions & 2 deletions opal/mca/hwloc/external/hwloc_external_component.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
*
Expand All @@ -14,7 +14,7 @@
#include "opal_config.h"
#include "opal/constants.h"

#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"

/*
* Public string showing the sysinfo ompi_linux component version number
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions opal/mca/hwloc/hwloc1113/configure.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# -*- shell-script -*-
#
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2009-2017 Cisco Systems, Inc. All rights reserved
# Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
# Copyright (c) 2015-2016 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
Expand Down Expand Up @@ -45,7 +45,7 @@ AC_DEFUN([MCA_opal_hwloc_hwloc1113_POST_CONFIG],[
AS_IF([test "$1" = "1" && test "$opal_hwloc_hwloc1113_support" = "yes"],
[
# Set this variable so that the framework m4 knows what
# file to include in opal/mca/hwloc/hwloc.h
# file to include in opal/mca/hwloc/hwloc-internal.h
opal_hwloc_hwloc1113_basedir=opal/mca/hwloc/hwloc1113
opal_hwloc_base_include="$opal_hwloc_hwloc1113_basedir/hwloc1113.h"

Expand Down
4 changes: 2 additions & 2 deletions opal/mca/hwloc/hwloc1113/hwloc1113.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2011-2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
* Copyright (c) 2016 Los Alamos National Security, LLC. All rights
* reserved.
Expand All @@ -12,7 +12,7 @@
* $HEADER$
*
* When this component is used, this file is included in the rest of
* the OPAL/ORTE/OMPI code base via opal/mca/hwloc/hwloc.h. As such,
* the OPAL/ORTE/OMPI code base via opal/mca/hwloc/hwloc-internal.h. As such,
* this header represents the public interface to this static component.
*/

Expand Down
4 changes: 2 additions & 2 deletions opal/mca/hwloc/hwloc1113/hwloc1113_component.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2011-2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
* Copyright (c) 2015-2016 Los Alamos National Security, LLC. All rights
* reserved.
Expand All @@ -21,7 +21,7 @@
#include "opal_config.h"
#include "opal/constants.h"

#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"
#include "hwloc1113.h"

/*
Expand Down
3 changes: 2 additions & 1 deletion opal/util/proc.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
* Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
* Copyright (c) 2014-2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2017 Cisco Systems, Inc. All rights reserved
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand All @@ -18,7 +19,7 @@

#include "opal_config.h"
#include "opal/class/opal_list.h"
#include "opal/mca/hwloc/hwloc.h"
#include "opal/mca/hwloc/hwloc-internal.h"
#include "opal/types.h"
#include "opal/dss/dss.h"

Expand Down
Loading