1
1

* add --with-platform=FILE argument to configure, which can be used to

load a set of arguments to build OMPI.  So you can do something like:

    ./configure --with-platform=redstorm

  and automagically have all 10,000 arguments to configure required
  for Red Storm magically set
* change all instances of sinclude to m4_include so that autogen
  will properly fail if an .m4 file isn't included properly

This commit was SVN r6648.
Этот коммит содержится в:
Brian Barrett 2005-07-28 15:48:46 +00:00
родитель 29465f0f28
Коммит c02cfd6dd1
4 изменённых файлов: 118 добавлений и 62 удалений

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

@ -20,71 +20,72 @@ dnl
# Open MPI-specific tests # Open MPI-specific tests
# #
sinclude(config/c_get_alignment.m4) m4_include(config/c_get_alignment.m4)
sinclude(config/c_weak_symbols.m4) m4_include(config/c_weak_symbols.m4)
sinclude(config/cxx_find_template_parameters.m4) m4_include(config/cxx_find_template_parameters.m4)
sinclude(config/cxx_find_template_repository.m4) m4_include(config/cxx_find_template_repository.m4)
sinclude(config/cxx_have_exceptions.m4) m4_include(config/cxx_have_exceptions.m4)
sinclude(config/cxx_find_exception_flags.m4) m4_include(config/cxx_find_exception_flags.m4)
sinclude(config/f77_check.m4) m4_include(config/f77_check.m4)
sinclude(config/f77_check_type.m4) m4_include(config/f77_check_type.m4)
sinclude(config/f77_find_ext_symbol_convention.m4) m4_include(config/f77_find_ext_symbol_convention.m4)
sinclude(config/f77_get_alignment.m4) m4_include(config/f77_get_alignment.m4)
sinclude(config/f77_get_fortran_handle_max.m4) m4_include(config/f77_get_fortran_handle_max.m4)
sinclude(config/f77_get_sizeof.m4) m4_include(config/f77_get_sizeof.m4)
sinclude(config/f77_purge_unsupported_kind.m4) m4_include(config/f77_purge_unsupported_kind.m4)
sinclude(config/f90_check_type.m4) m4_include(config/f90_check_type.m4)
sinclude(config/f90_find_module_include_flag.m4) m4_include(config/f90_find_module_include_flag.m4)
sinclude(config/f90_get_alignment.m4) m4_include(config/f90_get_alignment.m4)
sinclude(config/f90_get_precision.m4) m4_include(config/f90_get_precision.m4)
sinclude(config/f90_get_range.m4) m4_include(config/f90_get_range.m4)
sinclude(config/f90_get_sizeof.m4) m4_include(config/f90_get_sizeof.m4)
sinclude(config/f90_get_int_kind.m4) m4_include(config/f90_get_int_kind.m4)
m4_sinclude(config/ompi_objc.m4) m4_include(config/ompi_objc.m4)
sinclude(config/ompi_try_assemble.m4) m4_include(config/ompi_try_assemble.m4)
sinclude(config/ompi_config_asm.m4) m4_include(config/ompi_config_asm.m4)
sinclude(config/ompi_case_sensitive_fs_setup.m4) m4_include(config/ompi_case_sensitive_fs_setup.m4)
sinclude(config/ompi_check_broken_qsort.m4) m4_include(config/ompi_check_broken_qsort.m4)
sinclude(config/ompi_check_optflags.m4) m4_include(config/ompi_check_optflags.m4)
sinclude(config/ompi_check_icc.m4) m4_include(config/ompi_check_icc.m4)
sinclude(config/ompi_check_gm.m4) m4_include(config/ompi_check_gm.m4)
sinclude(config/ompi_check_mx.m4) m4_include(config/ompi_check_mx.m4)
sinclude(config/ompi_check_bproc.m4) m4_include(config/ompi_check_bproc.m4)
sinclude(config/ompi_check_mvapi.m4) m4_include(config/ompi_check_mvapi.m4)
sinclude(config/ompi_check_openib.m4) m4_include(config/ompi_check_openib.m4)
sinclude(config/ompi_check_package.m4) m4_include(config/ompi_check_package.m4)
sinclude(config/ompi_check_tm.m4) m4_include(config/ompi_check_tm.m4)
sinclude(config/ompi_check_xgrid.m4) m4_include(config/ompi_check_xgrid.m4)
sinclude(config/ompi_config_subdir.m4) m4_include(config/ompi_config_subdir.m4)
sinclude(config/ompi_config_subdir_args.m4) m4_include(config/ompi_config_subdir_args.m4)
sinclude(config/ompi_configure_options.m4) m4_include(config/ompi_configure_options.m4)
sinclude(config/ompi_find_type.m4) m4_include(config/ompi_find_type.m4)
sinclude(config/ompi_functions.m4) m4_include(config/ompi_functions.m4)
sinclude(config/ompi_get_version.m4) m4_include(config/ompi_get_version.m4)
sinclude(config/ompi_get_libtool_linker_flags.m4) m4_include(config/ompi_get_libtool_linker_flags.m4)
sinclude(config/ompi_mca.m4) m4_include(config/ompi_load_platform.m4)
sinclude(config/ompi_setup_cc.m4) m4_include(config/ompi_mca.m4)
sinclude(config/ompi_setup_cxx.m4) m4_include(config/ompi_setup_cc.m4)
sinclude(config/ompi_setup_f77.m4) m4_include(config/ompi_setup_cxx.m4)
sinclude(config/ompi_setup_f90.m4) m4_include(config/ompi_setup_f77.m4)
sinclude(config/ompi_setup_libevent.m4) m4_include(config/ompi_setup_f90.m4)
m4_include(config/ompi_setup_libevent.m4)
sinclude(config/ompi_check_pthread_pids.m4) m4_include(config/ompi_check_pthread_pids.m4)
sinclude(config/ompi_config_pthreads.m4) m4_include(config/ompi_config_pthreads.m4)
sinclude(config/ompi_config_solaris_threads.m4) m4_include(config/ompi_config_solaris_threads.m4)
sinclude(config/ompi_config_threads.m4) m4_include(config/ompi_config_threads.m4)
# #
# The config/mca_no_configure_components.m4 file is generated by # The config/mca_no_configure_components.m4 file is generated by
# autogen.sh # autogen.sh
# #
sinclude(config/mca_no_configure_components.m4) m4_include(config/mca_no_configure_components.m4)
# #
# mca_m4_config_include.m4 is generated by autogen.sh. It includes # mca_m4_config_include.m4 is generated by autogen.sh. It includes
@ -93,9 +94,9 @@ sinclude(config/mca_no_configure_components.m4)
# Some explination... There doesn't seem to be a good way to have # Some explination... There doesn't seem to be a good way to have
# this include file live in config/, because autoheader does it's # this include file live in config/, because autoheader does it's
# analysis without taking into account the directory in which the .m4 # analysis without taking into account the directory in which the .m4
# file calling sinclude is in, while autoconf does take the directory # file calling m4_include is in, while autoconf does take the directory
# into account. So you end up with a situation where you need two # into account. So you end up with a situation where you need two
# directories listed in the single sinclude. If anyone knows a way # directories listed in the single m4_include. If anyone knows a way
# to move mca_m4_config_include.m4 into config/, I'd appreciate it. # to move mca_m4_config_include.m4 into config/, I'd appreciate it.
# #
m4_sinclude(mca_m4_config_include.m4) m4_include(mca_m4_config_include.m4)

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

@ -494,12 +494,12 @@ EOF
echo "AC_CONFIG_FILES([$m4conf_dir/$file])" >> "$m4conf_list_file" echo "AC_CONFIG_FILES([$m4conf_dir/$file])" >> "$m4conf_list_file"
done done
# add the sinclude of the m4 file into the mca .m4 file directly. It shouldn't # add the m4_include of the m4 file into the mca .m4 file
# be in a macro, so this is fairly safe to do. By this point, there should # directly. It shouldn't be in a macro, so this is fairly safe to
# already be a header and all that. # do. By this point, there should already be a header and all
# sincludes are relative to the currently included file, so need the .. to get us # that. m4_includes are relative to the currently included file,
# from config/ to the topsrcdir again. # so need the .. to get us from config/ to the topsrcdir again.
echo "sinclude(${m4conf_project}/mca/${m4conf_framework}/${m4conf_component}/configure.m4)" >> "$m4conf_ompi_topdir/$mca_m4_include_file" echo "m4_include(${m4conf_project}/mca/${m4conf_framework}/${m4conf_component}/configure.m4)" >> "$m4conf_ompi_topdir/$mca_m4_include_file"
cat <<EOF cat <<EOF
--> Adding to top-level configure m4-configure subdirs: --> Adding to top-level configure m4-configure subdirs:

51
config/ompi_load_platform.m4 Обычный файл
Просмотреть файл

@ -0,0 +1,51 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# All rights reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# OMPI_LOAD_PLATFORM()
# --------------------
AC_DEFUN([OMPI_LOAD_PLATFORM], [
AC_ARG_WITH([platform],
[AC_HELP_STRING([--with-platform=FILE],
[Load options for build from FILE. Options on the
command line not in FILE are used. Options on the
command line and in FILE are replaced by what is
in FILE.])])
if test "$with_platform" = "yes" ; then
AC_MSG_ERROR([--with-platform argument must include FILE option])
elif test "$with_platform" = "no" ; then
AC_MSG_ERROR([--without-platform is not a valid argument])
elif test "$with_platform" != "" ; then
# make sure file exists
if test ! -r "$with_platform" ; then
AC_MSG_ERROR([platform file $with_platform not found])
fi
# eval into environment
OMPI_LOG_MSG([Loading environment file $with_platform, with contents below])
OMPI_LOG_FILE([$with_platform])
. "$with_platform"
# see if they left us a name
if test "$OMPI_PLATFORM_LOADED" != "" ; then
platform_loaded="$OMPI_PLATFORM_LOADED"
else
platform_loaded="$with_platform"
fi
echo "Loaded platform arguments for $platform_loaded"
OMPI_LOG_MSG([Loaded platform arguments for $platform_loaded"])
fi
])

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

@ -26,6 +26,10 @@ AC_INIT(./ompi/mpi/c/init.c)
AC_PREREQ(2.58) AC_PREREQ(2.58)
AC_CONFIG_AUX_DIR(./config) AC_CONFIG_AUX_DIR(./config)
# Get our platform support file. This has to be done very, very early
# because it twiddles random bits of autoconf
OMPI_LOAD_PLATFORM
# Get the version of OMPI that we are installing # Get the version of OMPI that we are installing
OMPI_GET_VERSION($srcdir/VERSION, OMPI) OMPI_GET_VERSION($srcdir/VERSION, OMPI)