dist: Add infrastructre for prjects to not build
Two related changes to allow projects to not build based on configure test results, as opposed to only reacting to user configure options today. Use case is disabling a project like oshmem because no communication channels can be built. First, Move PROJECT_* AM_CONDITIONALs from the top of configure to the bottom, so that we can change the results during configure. Second, add a DIST_SUBDIRS to Makefile.am (and populate it in opal_mca) so that "make dist" will work even when a project is disabled. Signed-off-by: Brian Barrett <bbarrett@amazon.com>
This commit is contained in:
parent
70b154f7ff
commit
22bdf85299
@ -12,7 +12,7 @@
|
||||
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2012-2015 Los Alamos National Security, Inc. All rights reserved.
|
||||
# Copyright (c) 2014 Intel, Inc. All rights reserved.
|
||||
# Copyright (c) 2017 Amazon.com, Inc. or its affiliates.
|
||||
# Copyright (c) 2017-2018 Amazon.com, Inc. or its affiliates.
|
||||
# All Rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
@ -22,6 +22,7 @@
|
||||
#
|
||||
|
||||
SUBDIRS = config contrib $(MCA_PROJECT_SUBDIRS) test
|
||||
DIST_SUBDIRS = config contrib $(MCA_PROJECT_DIST_SUBDIRS) test
|
||||
EXTRA_DIST = README INSTALL VERSION Doxyfile LICENSE autogen.pl README.JAVA.txt AUTHORS
|
||||
|
||||
include examples/Makefile.include
|
||||
|
@ -12,6 +12,8 @@ dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
dnl All rights reserved.
|
||||
dnl Copyright (c) 2010-2016 Cisco Systems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2018 Amazon.com, Inc. or its affiliates.
|
||||
dnl All Rights reserved.
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
@ -225,16 +227,19 @@ AC_DEFUN([OPAL_MCA],[
|
||||
# now configure all the projects, frameworks, and components. Most
|
||||
# of the hard stuff is in here
|
||||
MCA_PROJECT_SUBDIRS=
|
||||
MCA_PROJECT_DIST_SUBDIRS=
|
||||
m4_foreach(mca_project, [mca_project_list],
|
||||
[# BWB: Until projects have separate configure scripts
|
||||
# and can skip running all of ORTE, just avoid recursing
|
||||
# into orte sub directory if orte disabled
|
||||
if (test "mca_project" = "ompi" && test "$enable_mpi" != "no") || test "mca_project" = "opal" || test "mca_project" = "orte" || test "mca_project" = "oshmem"; then
|
||||
MCA_PROJECT_SUBDIRS="$MCA_PROJECT_SUBDIRS mca_project"
|
||||
MCA_PROJECT_DIST_SUBDIRS="$MCA_PROJECT_DIST_SUBDIRS mca_project"
|
||||
fi
|
||||
MCA_CONFIGURE_PROJECT(mca_project)])
|
||||
|
||||
AC_SUBST(MCA_PROJECT_SUBDIRS)
|
||||
AC_SUBST(MCA_PROJECT_DIST_SUBDIRS)
|
||||
|
||||
m4_undefine([mca_component_configure_active])
|
||||
])
|
||||
|
13
configure.ac
13
configure.ac
@ -23,6 +23,8 @@
|
||||
# Copyright (c) 2014-2017 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
|
||||
# Copyright (c) 2018 Amazon.com, Inc. or its affiliates.
|
||||
# All Rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
@ -266,15 +268,12 @@ m4_ifdef([project_oshmem], [OSHMEM_CONFIGURE_OPTIONS])
|
||||
# Set up project specific AM_CONDITIONALs
|
||||
AS_IF([test "$enable_ompi" != "no"], [project_ompi_amc=true], [project_ompi_amc=false])
|
||||
m4_ifndef([project_ompi], [project_ompi_amc=false])
|
||||
AM_CONDITIONAL([PROJECT_OMPI], [test "$project_ompi_amc" = "true"])
|
||||
|
||||
AS_IF([test "$enable_orte" != "no"], [project_orte_amc=true], [project_orte_amc=false])
|
||||
m4_ifndef([project_orte], [project_orte_amc=false])
|
||||
AM_CONDITIONAL([PROJECT_ORTE], [test "$project_orte_amc" = "true"])
|
||||
|
||||
AS_IF([test "$enable_oshmem" != "no"], [project_oshmem_amc=true], [project_oshmem_amc=false])
|
||||
m4_ifndef([project_oshmem], [project_oshmem_amc=false])
|
||||
AM_CONDITIONAL([PROJECT_OSHMEM], [test "$project_oshmem_amc" = "true"])
|
||||
|
||||
if test "$enable_binaries" = "no" && test "$enable_dist" = "yes"; then
|
||||
AC_MSG_WARN([--disable-binaries is incompatible with --enable dist])
|
||||
@ -1344,6 +1343,14 @@ m4_ifdef([project_ompi],
|
||||
# Party on
|
||||
############################################################################
|
||||
|
||||
# set projects good/no good AM_CONDITIONALS. This is at the end so
|
||||
# that the OSHMEM/OMPI projects can be disabled, if needed, based on
|
||||
# MCA tests. If a project is to be disabled, also remove it from
|
||||
# MCA_PROJECT_SUBDIRS to actually disable building.
|
||||
AM_CONDITIONAL([PROJECT_OMPI], [test "$project_ompi_amc" = "true"])
|
||||
AM_CONDITIONAL([PROJECT_ORTE], [test "$project_orte_amc" = "true"])
|
||||
AM_CONDITIONAL([PROJECT_OSHMEM], [test "$project_oshmem_amc" = "true"])
|
||||
|
||||
AC_MSG_CHECKING([if libtool needs -no-undefined flag to build shared libraries])
|
||||
case "`uname`" in
|
||||
CYGWIN*|MINGW*|AIX*)
|
||||
|
Loading…
Reference in New Issue
Block a user