1
1

Merge pull request #6185 from ggouaillardet/topic/hwloc_macros

hwloc: remove public hwloc macros from opal_config.h
Этот коммит содержится в:
Jeff Squyres 2019-01-30 07:32:22 -05:00 коммит произвёл GitHub
родитель 29915fc943 0aeb27f776
Коммит 2203f8d900
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
6 изменённых файлов: 43 добавлений и 7 удалений

Просмотреть файл

@ -5,6 +5,8 @@
# Copyright (c) 2011-2015 INRIA. All rights reserved. # Copyright (c) 2011-2015 INRIA. All rights reserved.
# Copyright (c) 2011-2015 Université Bordeaux 1 # Copyright (c) 2011-2015 Université Bordeaux 1
# Copyright (c) 2017 IBM Corporation. All rights reserved. # Copyright (c) 2017 IBM Corporation. All rights reserved.
# Copyright (c) 2019 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$ # $COPYRIGHT$
# #
# Additional copyrights may follow # Additional copyrights may follow
@ -67,3 +69,5 @@ noinst_LTLIBRARIES = $(lib)
libmca_topo_treematch_la_SOURCES = $(lib_sources) libmca_topo_treematch_la_SOURCES = $(lib_sources)
libmca_topo_treematch_la_LDFLAGS = -module -avoid-version libmca_topo_treematch_la_LDFLAGS = -module -avoid-version
distclean-local:
rm -f config.h

Просмотреть файл

@ -6,7 +6,9 @@
# Copyright (c) 2011-2015 INRIA. All rights reserved. # Copyright (c) 2011-2015 INRIA. All rights reserved.
# Copyright (c) 2011-2015 Universite Bordeaux 1 # Copyright (c) 2011-2015 Universite Bordeaux 1
# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved. # Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2015 Intel, Inc. All rights reserved. # Copyright (c) 2015 Intel, Inc. All rights reserved.
# Copyright (c) 2019 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$ # $COPYRIGHT$
# #
# Additional copyrights may follow # Additional copyrights may follow
@ -77,7 +79,21 @@ AC_DEFUN([MCA_ompi_topo_treematch_CONFIG], [
[ompi_topo_treematch_happy=1])])]) [ompi_topo_treematch_happy=1])])])
AS_IF([test $ompi_topo_treematch_happy -eq 1], AS_IF([test $ompi_topo_treematch_happy -eq 1],
[$1], [AS_IF([test "x$treematch_files_local" = "xyes"],
[AS_IF([! test -d $OMPI_TOP_BUILDDIR/ompi/mca/topo/treematch],
[mkdir -p $OMPI_TOP_BUILDDIR/ompi/mca/topo/treematch])
cat > $OMPI_TOP_BUILDDIR/ompi/mca/topo/treematch/config.h << EOF
/*
* This file is automatically generated by configure. Edits will be lost
*
* This is an dummy config.h in order to prevent the embedded treematch from using
* the config.h from the embedded hwloc
*
* see https://github.com/open-mpi/ompi/pull/6185#issuecomment-458807930
*/
EOF
])
$1],
[AS_IF([test ! -z "$with_treematch" && test "$with_treematch" != "no"], [AS_IF([test ! -z "$with_treematch" && test "$with_treematch" != "no"],
[AC_MSG_ERROR([TreeMatch support requested but not found. Aborting])]) [AC_MSG_ERROR([TreeMatch support requested but not found. Aborting])])
$2]) $2])

Просмотреть файл

@ -260,7 +260,6 @@
including stdint.h */ including stdint.h */
#define __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS
#endif #endif
#include "opal_config.h"
#include "opal_stdint.h" #include "opal_stdint.h"
/*********************************************************************** /***********************************************************************

Просмотреть файл

@ -98,7 +98,7 @@ int opal_hwloc_unpack(opal_buffer_t *buffer, void *dest,
free(xmlbuffer); free(xmlbuffer);
goto cleanup; goto cleanup;
} }
if (0 != hwloc_topology_set_xmlbuffer(t, xmlbuffer, strlen(xmlbuffer))) { if (0 != hwloc_topology_set_xmlbuffer(t, xmlbuffer, strlen(xmlbuffer)+1)) {
rc = OPAL_ERROR; rc = OPAL_ERROR;
free(xmlbuffer); free(xmlbuffer);
hwloc_topology_destroy(t); hwloc_topology_destroy(t);

Просмотреть файл

@ -371,7 +371,7 @@ int opal_hwloc_base_get_topology(void)
free(val); free(val);
return OPAL_ERROR; return OPAL_ERROR;
} }
if (0 != hwloc_topology_set_xmlbuffer(opal_hwloc_topology, val, strlen(val))) { if (0 != hwloc_topology_set_xmlbuffer(opal_hwloc_topology, val, strlen(val)+1)) {
free(val); free(val);
hwloc_topology_destroy(opal_hwloc_topology); hwloc_topology_destroy(opal_hwloc_topology);
return OPAL_ERROR; return OPAL_ERROR;

21
opal/mca/hwloc/external/external.h поставляемый
Просмотреть файл

@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2011-2017 Cisco Systems, Inc. All rights reserved * Copyright (c) 2011-2019 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2016 Research Organization for Information Science * Copyright (c) 2016-2019 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* *
* Copyright (c) 2016-2017 Intel, Inc. All rights reserved. * Copyright (c) 2016-2017 Intel, Inc. All rights reserved.
@ -21,6 +21,23 @@
BEGIN_C_DECLS BEGIN_C_DECLS
#include <opal_config.h> #include <opal_config.h>
/* Top-level configure will always configure the embedded hwloc
* component, even if we already know that we'll be using an external
* hwloc (because of complicated reasons). A side-effect of this is
* that the embedded hwloc will AC_DEFINE HWLOC_VERSION (and friends)
* in opal_config.h. If the external hwloc defines a different value
* of HWLOC_VERSION (etc.), we'll get zillions of warnings about the
* two HWLOC_VERSION values not matching. Hence, we undefined all of
* them here (so that the external <hwloc.h> can define them to
* whatever it wants). */
#undef HWLOC_VERSION
#undef HWLOC_VERSION_MAJOR
#undef HWLOC_VERSION_MINOR
#undef HWLOC_VERSION_RELEASE
#undef HWLOC_VERSION_GREEK
#include MCA_hwloc_external_header #include MCA_hwloc_external_header
/* If the including file requested it, also include the hwloc verbs /* If the including file requested it, also include the hwloc verbs