1
1
openmpi/config
Jeff Squyres c6d9bf906e configury: ensure wrapper static LIBS is filled properly
In core library portions of the configury (e.g., top-level
configure.ac itself), we were calling AC_CHECK_LIB and
OPAL_CHECK_FUNC_LIB to check for various libraries.

'''SIDENOTE:''' It turns out that modern Autoconf has AC_SEARCH_LIBS,
which does just about exactly what OPAL_CHECK_FUNC_LIB does.  So this
commit effectively replaces OPAL_CHECK_FUNC_LIB with AC_SEARCH_LIBS.

However, we never bothered to add these found libraries to the wrapper
compiler list of libraries used for static linking (doh!).  We've been
getting lucky for quite a while that components were adding the same
libraries to their wrapper compiler LIBS list.  

This is problematic, however, if we don't build some of these
components.  For example, Paul Hargrove noticed that if he configured
with --disable-shared --enable-static --disable-io-romio, ROMIO was no
longer adding some libraries to the wrapper LIBS list -- libraries
that just happened to also be needed by core OPAL/ORTE/OMPI layers.

The solution is not to use AC_CHECK_LIB or OPAL_CHECK_FUNC_LIB, but
use a pair of new macros:

 * OPAL_SEARCH_LIBS_CORE: a wrapper around AC_SEARCH_LIBS.  If we add
   something to $LIBS, then also add it to the wrapper list of static
   libraries.  This is the main piece of functionality that was
   wrong/missing.
 * OPAL_SEARCH_LIBS_COMPONENT: similar to OPAL_SEARCH_LIBS_CORE, but
   instead of directly adding it to the wrapper list of static
   libaries, add it to <framework>_<component>_LIBS (which eventually
   gets slurped up into the wrapper list of static libraries.  See the
   lengthy comment in config/opal_setup_wrappers.m4 near the beginning
   of OPAL_SETUP_WRAPPER_INIT() for a more detailed explanation).
   Most components did this correctly already, but one or two weren't
   right, so I implemented this second macro quite similar to the
   first and put it everywhere we already used AC_SEARCH_LIBS or
   OPAL_CHECK_FUNC_LIB.

This needs to soak for a day or two on the trunk before moving to the
v1.8 branch.

Refs trac:4834

cmr=v1.8.2:reviewer=ggouaillardet

This commit was SVN r32447.

The following Trac tickets were found above:
  Ticket 4834 --> https://svn.open-mpi.org/trac/ompi/ticket/4834
2014-08-07 23:54:45 +00:00
..
c_get_alignment.m4 Complete the cleanup of this file 2014-05-06 16:57:34 +00:00
c_weak_symbols.m4 Per RFC, continue cleanup with minor changes to one file 2014-05-06 18:37:52 +00:00
distscript.csh Backout the ORCA commit. :( 2012-06-27 01:28:28 +00:00
libltdl-preopen-error.diff WARNING: Work on the temp branch being merged here encountered problems with bugs in subversion. Considerable effort has gone into validating the branch. However, not all conditions can be checked, so users are cautioned that it may be advisable to not update from the trunk for a few days to allow MTT to identify platform-specific issues. 2010-09-17 23:04:06 +00:00
ltmain_pgi_tp.diff Patch ltmain.sh in autogen.sh per this Libtool thread: 2010-08-25 19:40:17 +00:00
Makefile.am Sigh - forgot to change name in Makefile.am 2014-05-06 14:35:14 +00:00
Makefile.options Rollback the last two commits. 2008-10-28 17:22:29 +00:00
ompi_check_gni.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
ompi_check_libfca.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
ompi_check_libhcoll.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
ompi_check_lustre.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
ompi_check_mx.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
ompi_check_mxm.m4 MXM: update min required version for mxm as 2.1+ 2014-07-10 13:16:57 +00:00
ompi_check_plfs.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
ompi_check_psm.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
ompi_check_pvfs2.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
ompi_check_udapl.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
ompi_config_files.m4 Fortran: remove the scripts from the use-mpi-tkr implementation 2014-06-19 13:35:30 +00:00
ompi_config_solaris_threads.m4 Fix some fortran flags variable names, and fortran configury C test 2012-04-23 15:28:26 +00:00
ompi_config_threads.m4 Correct a typo to get the right configure option to match the internal logic, thus making --enable-mpi-thread-multiple to actually work 2014-01-15 03:56:29 +00:00
ompi_configure_options.m4 Move the OPAL_ENABLE_PROGRESS_THREADS definition to opal_configure_options.m4 2014-08-01 18:11:36 +00:00
ompi_contrib.m4 One more level of subsubsubsubsubtitle... 2014-05-07 15:51:20 +00:00
ompi_cxx_find_exception_flags.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_cxx_find_template_parameters.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_cxx_find_template_repository.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_cxx_have_exceptions.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_endpoint_tag.m4 Remove the proc_pml and proc_bml fields from ompi_proc_t and replace with a 2013-08-30 16:54:55 +00:00
ompi_ext.m4 One more level of subsubsubsubsubtitle... 2014-05-07 15:51:20 +00:00
ompi_find_mpi_aint_count_offset.m4 Add file that was forgotten in r30776. Refs trac:4205. 2014-02-20 11:32:57 +00:00
ompi_fortran_check_abstract.m4 Minor configure output consistency updates 2014-01-13 18:28:26 +00:00
ompi_fortran_check_asynchronous.m4 Minor configure output consistency updates 2014-01-13 18:28:26 +00:00
ompi_fortran_check_bind_c.m4 ompi_fortran_check_bind_c.m4: Fix comment in existing .m4 file 2014-06-19 13:39:11 +00:00
ompi_fortran_check_f08_assumed_rank.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_fortran_check_ignore_tkr.m4 Thanks to a reminder from Tobias Burunus, commit support for the 2014-01-08 03:46:27 +00:00
ompi_fortran_check_logical_array.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_fortran_check_optional_args.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_fortran_check_private.m4 Minor configure output consistency updates 2014-01-13 18:28:26 +00:00
ompi_fortran_check_procedure.m4 Missed this one in r30271. 2014-01-13 18:30:15 +00:00
ompi_fortran_check_protected.m4 Make the use of PROTECTED in the mpi_f08 module be optional. 2014-01-13 18:35:42 +00:00
ompi_fortran_check_real16_c_equiv.m4 Per RFC, continue renaming of build tools: 2014-05-06 15:01:34 +00:00
ompi_fortran_check_type.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_fortran_check.m4 Per RFC, continue the naming conversion 2014-05-06 23:34:33 +00:00
ompi_fortran_find_ext_symbol_convention.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_fortran_find_module_include_flag.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_fortran_get_alignment.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_fortran_get_handle_max.m4 On OpenBSD (and probably others), expr operates on a 32 bit signed integer, 2012-12-22 16:24:36 +00:00
ompi_fortran_get_kind_value.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_fortran_get_sizeof.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_fortran_get_value_true.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
ompi_interix.m4 Per RFC: 2014-05-05 22:35:23 +00:00
ompi_microsoft.m4 Per RFC, continue renaming of build tools: 2014-05-06 15:01:34 +00:00
ompi_setup_contrib.m4 Per RFC: 2014-05-05 22:35:23 +00:00
ompi_setup_cxx.m4 Per RFC, continue the joyous fun of the renaming exercise 2014-05-06 20:13:37 +00:00
ompi_setup_fc.m4 Per RFC, continue the joyous fun of the renaming exercise 2014-05-06 20:13:37 +00:00
ompi_setup_java.m4 Per RFC: 2014-05-05 22:35:23 +00:00
ompi_setup_mpi_ext.m4 Per RFC: 2014-05-05 22:35:23 +00:00
ompi_setup_mpi_fortran.m4 fortran: Revert r32354 2014-07-30 22:48:49 +00:00
ompi_setup_mpi_profiling.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
opal_case_sensitive_fs_setup.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
opal_check_attributes.m4 Per RFC, continue cleanup with minor change to one file 2014-05-06 18:30:55 +00:00
opal_check_broken_qsort.m4 Continue the renaming, fix ompi_show_subsubtitle 2014-05-07 15:45:47 +00:00
opal_check_cma.m4 Cleanup some autoconf messages - thanks to Paul Hargrove for noting them 2014-08-05 14:48:42 +00:00
opal_check_compiler_version.m4 The bulk of the remaining renaming changes, in one final glorious "blob". Thanks to Jeff for some help chasing down a few spots. Per chat with Jeff, we decided to cleanup a few things that were historical in nature: 2014-05-07 21:48:53 +00:00
opal_check_compiler_works.m4 Per RFC, continue the renaming effort 2014-05-06 21:16:29 +00:00
opal_check_cuda.m4 Chnage some CUDA configure code and macro names per review request by jsquyres in ticket #3880. 2013-12-06 14:35:10 +00:00
opal_check_db.m4 Improve/expand the database configure logic for future use 2014-03-11 03:01:15 +00:00
opal_check_icc.m4 Per RFC, continue with build system renaming 2014-05-06 19:22:27 +00:00
opal_check_ident.m4 Per RFC, continue with build system renaming 2014-05-06 19:22:27 +00:00
opal_check_offsetof.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
opal_check_openfabrics.m4 Rename the .m4 files to reflect the move to opal so non-MPI projects properly see them 2014-08-01 17:03:34 +00:00
opal_check_os_flavors.m4 Ensure we properly check for sockaddr_in before checking for tcp 2014-03-20 00:17:29 +00:00
opal_check_package.m4 Per RFC, continue with build system renaming 2014-05-06 19:37:10 +00:00
opal_check_pmi.m4 First stage of RFC to rename OMPI_foo build system support: change OMPI_CHECK_PACKAGE -> OPAL_CHECK_PACKAGE 2014-05-01 14:24:56 +00:00
opal_check_portals4.m4 Rename the .m4 files to reflect the move to opal so non-MPI projects properly see them 2014-08-01 17:03:34 +00:00
opal_check_portals.m4 Rename the .m4 files to reflect the move to opal so non-MPI projects properly see them 2014-08-01 17:03:34 +00:00
opal_check_ps.m4 Per RFC, continue the renaming effort 2014-05-06 21:16:29 +00:00
opal_check_pthread_pids.m4 Clean up variables used in configure with OPAL_VAR_SCOPE. 2013-12-06 23:40:34 +00:00
opal_check_ugni.m4 Per RFC, continue the renaming process 2014-05-06 20:53:55 +00:00
opal_check_vendor.m4 Per RFC, continue the joyous fun of the renaming exercise 2014-05-06 20:13:37 +00:00
opal_check_verbs.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
opal_check_visibility.m4 Per RFC, continue renaming of build tools: 2014-05-06 15:01:34 +00:00
opal_check_withdir.m4 Per RFC, next major step in cleaning up the build system naming patterns: rename files containing things used by the OPAL layer to be opal_foo.m4 instead of ompi_foo.m4. The ALPS plm is currently checking UGNI, so shift the check_ugni.m4 to orte for now. 2014-05-06 03:20:16 +00:00
opal_config_asm.m4 The bulk of the remaining renaming changes, in one final glorious "blob". Thanks to Jeff for some help chasing down a few spots. Per chat with Jeff, we decided to cleanup a few things that were historical in nature: 2014-05-07 21:48:53 +00:00
opal_config_files.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
opal_config_pthreads.m4 The final step of the RFC: convert the <foo>libdir and friends to fit their respective code areas, and equate them all at the top. Note that we can't entirely separate things as the opal_install_dirs framework can't handle separated locations for the various trees. 2014-05-08 02:01:35 +00:00
opal_config_subdir_args.m4 Per RFC, continue pecking away at the build system renaming 2014-05-06 16:27:38 +00:00
opal_config_subdir.m4 Per RFC, continue pecking away at the build system renaming 2014-05-06 16:27:38 +00:00
opal_config_threads.m4 Per RFC, continue the renaming effort 2014-05-06 21:16:29 +00:00
opal_configure_options.m4 Move the OPAL_ENABLE_PROGRESS_THREADS definition to opal_configure_options.m4 2014-08-01 18:11:36 +00:00
opal_ensure_contains_optflags.m4 Per RFC, next major step in cleaning up the build system naming patterns: rename files containing things used by the OPAL layer to be opal_foo.m4 instead of ompi_foo.m4. The ALPS plm is currently checking UGNI, so shift the check_ugni.m4 to orte for now. 2014-05-06 03:20:16 +00:00
opal_find_type.m4 Per RFC, continue renaming project 2014-05-07 01:00:06 +00:00
opal_functions.m4 Per RFC, continue with renaming 2014-05-07 04:51:45 +00:00
opal_get_version.m4 The final step of the RFC: convert the <foo>libdir and friends to fit their respective code areas, and equate them all at the top. Note that we can't entirely separate things as the opal_install_dirs framework can't handle separated locations for the various trees. 2014-05-08 02:01:35 +00:00
opal_get_version.m4sh The final step of the RFC: convert the <foo>libdir and friends to fit their respective code areas, and equate them all at the top. Note that we can't entirely separate things as the opal_install_dirs framework can't handle separated locations for the various trees. 2014-05-08 02:01:35 +00:00
opal_lang_link_with_c.m4 Per RFC, continue the joyous fun of the renaming exercise 2014-05-06 20:13:37 +00:00
opal_load_platform.m4 Per RFC, continue the renaming effort 2014-05-06 21:16:29 +00:00
opal_mca_priority_sort.pl Per RFC, next major step in cleaning up the build system naming patterns: rename files containing things used by the OPAL layer to be opal_foo.m4 instead of ompi_foo.m4. The ALPS plm is currently checking UGNI, so shift the check_ugni.m4 to orte for now. 2014-05-06 03:20:16 +00:00
opal_mca.m4 Remove stale orcm reference 2014-07-11 19:00:28 +00:00
opal_save_version.m4 Per RFC, next major step in cleaning up the build system naming patterns: rename files containing things used by the OPAL layer to be opal_foo.m4 instead of ompi_foo.m4. The ALPS plm is currently checking UGNI, so shift the check_ugni.m4 to orte for now. 2014-05-06 03:20:16 +00:00
opal_search_libs.m4 configury: ensure wrapper static LIBS is filled properly 2014-08-07 23:54:45 +00:00
opal_setup_cc.m4 Per RFC, continue the joyous fun of the renaming exercise 2014-05-06 20:13:37 +00:00
opal_setup_component_package.m4 Per RFC, continue the renaming effort 2014-05-06 21:16:29 +00:00
opal_setup_cxx.m4 Per RFC, continue the joyous fun of the renaming exercise 2014-05-06 20:13:37 +00:00
opal_setup_ft.m4 Per RFC, another round of changes 2014-05-07 03:16:59 +00:00
opal_setup_java.m4 Per RFC: 2014-05-05 22:35:23 +00:00
opal_setup_libltdl.m4 The bulk of the remaining renaming changes, in one final glorious "blob". Thanks to Jeff for some help chasing down a few spots. Per chat with Jeff, we decided to cleanup a few things that were historical in nature: 2014-05-07 21:48:53 +00:00
opal_setup_wrappers.m4 The bulk of the remaining renaming changes, in one final glorious "blob". Thanks to Jeff for some help chasing down a few spots. Per chat with Jeff, we decided to cleanup a few things that were historical in nature: 2014-05-07 21:48:53 +00:00
opal_strip_optflags.m4 Per RFC, continue the build system renaming 2014-05-06 20:30:37 +00:00
opal_try_assemble.m4 Per RFC, continue the build system renaming 2014-05-06 20:30:37 +00:00
orte_check_alps.m4 Per RFC, continue the renaming process 2014-05-06 20:53:55 +00:00
orte_check_loadleveler.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
orte_check_lsf.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
orte_check_sge.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
orte_check_slurm.m4 Consolidate all the opal/orte/ompi .m4 files back to the top-level 2012-12-19 00:00:36 +00:00
orte_check_tm.m4 Last step under current RFC: OMPI_CHECK_WITHDIR -> OPAL_CHECK_WITHDIR 2014-05-01 15:38:07 +00:00
orte_config_files.m4 Sigh - remove the c++ cruft from here too 2014-02-10 17:32:02 +00:00
orte_configure_options.m4 Per RFC: 2014-05-05 22:35:23 +00:00
orte_setup_debugger_flags.m4 Per RFC, continue the build system renaming 2014-05-06 20:30:37 +00:00
orte_setup_java.m4 Per RFC: 2014-05-05 22:35:23 +00:00
oshmem_config_files.m4 Java - define macro OSHMEM_SETUP_JAVA_BINDINGS 2014-06-11 21:49:31 +00:00
oshmem_configure_options.m4 Clarify when oshmem is enabled/disabled. Thanks to Paul Hargrove for the language 2014-08-05 14:52:18 +00:00
oshmem_setup_java.m4 Java - define macro OSHMEM_SETUP_JAVA_BINDINGS 2014-06-11 21:49:31 +00:00
pkg.m4 add pkg.m4 for PKG_CHK_MODULES, etc. macro 2014-08-05 21:43:58 +00:00