1
1

* first cut at autogen.sh / configure for new directory structure

* fix some broken makefile.ams

This commit was SVN r6277.
Этот коммит содержится в:
Brian Barrett 2005-07-02 14:29:45 +00:00
родитель e10a181120
Коммит 0c16b5419e
6 изменённых файлов: 202 добавлений и 179 удалений

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

@ -58,6 +58,8 @@ mca_no_config_list_file="mca_no_config_list"
mca_no_config_amc_file="mca_no_config_amc"
autogen_subdir_file="autogen.subdirs"
# locations to look for mca modules
mca_locations="opal orte ompi"
############################################################################
#
@ -361,14 +363,14 @@ EOF
# configure, not any of the MCA components.
if test -f include/mpi.h; then
rm -rf libltdl src/libltdl src/ltdl.h
rm -rf libltdl opal/libltdl opal/ltdl.h
run_and_check $ompi_libtoolize --automake --copy --ltdl
mv libltdl src
mv libltdl opal
echo "Adjusting libltdl for OMPI :-("
echo " -- patching for argz bugfix in libtool 1.5"
cd src/libltdl
cd opal/libltdl
if test "`grep 'while ((before >= *pargz) && (before[-1] != LT_EOS_CHAR))' ltdl.c`" != ""; then
patch -N -p0 <<EOF
--- ltdl.c.old 2003-11-26 16:42:17.000000000 -0500
@ -831,12 +833,13 @@ run_global() {
touch "$mca_no_configure_components_file" "$mca_no_config_list_file" \
"$mca_no_config_amc_file"
# Now run the config in every directory in src/mca/*/*
# Now run the config in every directory in <location>/mca/*/*
# that has a configure.in or configure.ac script
rg_cwd="`pwd`"
echo $rg_cwd
for type in src/mca/*; do
for project in $mca_locations; do
for type in $project/mca/*; do
if test -d "$type"; then
for component in "$type"/*; do
if test -d "$component"; then
@ -849,6 +852,7 @@ run_global() {
done
fi
done
done
# Fill in the final m4 file

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

@ -155,9 +155,10 @@ unset msg
# The list of MCA types (it's fixed)
found_projects="opal orte ompi"
found_types="common allocator btl coll errmgr gpr io iof mpool ns oob pls pml ptl ras rds rmaps rmgr rml schema soh topo"
AC_MSG_CHECKING([for MCA types])
found_types="common allocator btl coll errmgr gpr io iof mpool ns oob pls pml ptl ras rds rmaps rmgr rml schema soh topo"
AC_MSG_RESULT([$found_types])
# Get the list of all the non-configure MCA components that were found by
@ -179,15 +180,28 @@ for type in $found_types; do
dso_components=
static_ltlibs=
#
# find the project this is part of
#
project=""
for tmp_project in $found_projects; do
if test -d "$tmp_project/mca/$type" ; then
project="$tmp_project"
fi
done
if test "$project" = "" ; then
AC_MSG_ERROR([Could not find location of framework $type. Aborting.])
fi
# Ensure that the directory where the #include file is to live
# exists. Need to do this for VPATH builds, because the directory
# may not exist yet. For the "common" type, it's not really a
# component, so it doesn't have a base.
if test "$type" = "common"; then
outdir=src/mca/common
outdir=$project/mca/common
else
outdir=src/mca/$type/base
outdir=$project/mca/$type/base
fi
total_dir="."
for dir_part in `IFS='/\\'; set X $outdir; shift; echo "$[@]"`; do
@ -200,7 +214,7 @@ for type in $found_types; do
# Also ensure that the dynamic-mca base directory exists
total_dir="."
dyndir=src/dynamic-mca/$type
dyndir=$project/dynamic-mca/$type
for dir_part in `IFS='/\\'; set X $dyndir; shift; echo "$[@]"`; do
total_dir=$total_dir/$dir_part
test -d "$total_dir" ||
@ -297,11 +311,11 @@ for type in $found_types; do
# Remove any possible sym link in the mca-dynamic tree
rm -f src/dynamic-mca/$type/$m
rm -f $project/dynamic-mca/$type/$m
# Now process the component
MCA_PROCESS_COMPONENT(1, 1, $type, $m)
MCA_PROCESS_COMPONENT(1, 1, $project, $type, $m)
# Note that the AM_CONDITIONAL for this component is set in
# config/mca_no_configure_components.m4 -- which is generated by
@ -338,7 +352,7 @@ of type ${type} to be loaded at runtime.])
# Find all configureable components, run their configure scripts,
# etc.
for component in $srcdir/src/mca/$type/*; do
for component in $srcdir/$project/mca/$type/*; do
FOUND=0
HAPPY=0
m="`basename $component`"
@ -379,11 +393,11 @@ of type ${type} to be loaded at runtime.])
# Remove any possible sym link in the mca-dynamic tree
rm -f src/dyanmic-mca/$type/$m
rm -f $project/dyanmic-mca/$type/$m
# Configure the component subdirectory
OMPI_CONFIG_SUBDIR([src/mca/$type/$m],
OMPI_CONFIG_SUBDIR([$project/mca/$type/$m],
[$ompi_subdir_args],
[HAPPY=1], [HAPPY=0])
fi
@ -391,7 +405,7 @@ of type ${type} to be loaded at runtime.])
# Process this component
MCA_PROCESS_COMPONENT($FOUND, $HAPPY, $type, $m)
MCA_PROCESS_COMPONENT($FOUND, $HAPPY, $project, $type, $m)
# double check that we can build direct if that was requested
if test "$DIRECT_COMPONENT" = "$m" -a \
-z "$MCA_${type}_DIRECT_CALL_HEADER" ; then
@ -581,7 +595,7 @@ AC_SUBST(MCA_pml_ALL_SUBDIRS)
AC_SUBST(MCA_pml_STATIC_SUBDIRS)
AC_SUBST(MCA_pml_DSO_SUBDIRS)
AC_SUBST(MCA_pml_STATIC_LTLIBS)
OMPI_SETUP_DIRECT_CALL(pml)
OMPI_SETUP_DIRECT_CALL(pml, ompi)
AC_SUBST(MCA_ptl_ALL_SUBDIRS)
AC_SUBST(MCA_ptl_STATIC_SUBDIRS)
@ -612,13 +626,14 @@ dnl -----------------------------------------------------------------------
AC_DEFUN([MCA_PROCESS_COMPONENT],[
FOUND=$1
HAPPY=$2
type=$3
m=$4
project=$3
type=$4
m=$5
# See if it dropped an output file for us to pick up some
# shell variables in.
infile="src/mca/$type/$m/post_configure.sh"
infile="$project/mca/$type/$m/post_configure.sh"
# Did we find a valid component, and did its configure run
# successfully?
@ -666,9 +681,9 @@ if test "$HAPPY" = "1"; then
if test "$compile_mode" = "dso" ; then
echo $m >> $outfile.dso
rm -f "src/dynamic-mca/$type/$m"
$LN_S "$OMPI_TOP_BUILDDIR/src/mca/$type/$m" \
"src/dynamic-mca/$type/$m"
rm -f "$project/dynamic-mca/$type/$m"
$LN_S "$OMPI_TOP_BUILDDIR/$project/mca/$type/$m" \
"$project/dynamic-mca/$type/$m"
else
static_ltlibs="mca/$type/$m/libmca_${type}_${m}.la $static_ltlibs"
echo "extern const mca_base_component_t mca_${type}_${m}_component;" >> $outfile.extern
@ -800,24 +815,24 @@ AC_DEFUN([OMPI_SETUP_DIRECT_CALL],[
[Defined to 1 if $1 should use direct calls instead of components])
AC_DEFINE_UNQUOTED([MCA_$1_DIRECT_CALL_COMPONENT], [$MCA_$1_DIRECT_CALL_COMPONENT],
[name of component to use for direct calls, if MCA_$1_DIRECT_CALL is 1])
OMPI_WRITE_DIRECT_CALL_HEADER($1)
OMPI_WRITE_DIRECT_CALL_HEADER($1, $2)
])
AC_DEFUN([OMPI_WRITE_DIRECT_CALL_HEADER],[
AC_CONFIG_FILES(src/mca/$1/$1_direct_call.h.template)
AC_CONFIG_FILES($2/mca/$1/$1_direct_call.h.template)
AC_CONFIG_COMMANDS($1-direct,
[if test -f "src/mca/$1/$1_direct_call"; then
diff "src/mca/$1/$1_direct_call.h" "src/mca/$1/$1_direct_call.h.template" > /dev/null 2>&1
[if test -f "$2/mca/$1/$1_direct_call"; then
diff "$2/mca/$1/$1_direct_call.h" "$2/mca/$1/$1_direct_call.h.template" > /dev/null 2>&1
if test "$?" != "0"; then
cp "src/mca/$1/$1_direct_call.h.template" "src/mca/$1/$1_direct_call.h"
echo "config.status: regenerating src/mca/$1/$1_direct_call.h"
cp "$2/mca/$1/$1_direct_call.h.template" "$2/mca/$1/$1_direct_call.h"
echo "config.status: regenerating $2/mca/$1/$1_direct_call.h"
else
echo "config.status: src/mca/$1/$1_direct_call.h unchanged"
echo "config.status: $2/mca/$1/$1_direct_call.h unchanged"
fi
else
cp "src/mca/$1/$1_direct_call.h.template" "src/mca/$1/$1_direct_call.h"
echo "config.status: creating src/mca/$1/$1_direct_call.h"
cp "$2/mca/$1/$1_direct_call.h.template" "$2/mca/$1/$1_direct_call.h"
echo "config.status: creating $2/mca/$1/$1_direct_call.h"
fi
rm src/mca/$1/$1_direct_call.h.template])
rm $2/mca/$1/$1_direct_call.h.template])
])

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

@ -22,7 +22,7 @@
# Init autoconf
AC_INIT(./src/mpi/c/init.c)
AC_INIT(./ompi/mpi/c/init.c)
AC_PREREQ(2.58)
AC_CONFIG_AUX_DIR(./config)
@ -1180,7 +1180,7 @@ AM_PROG_LEX
if test -z "$LEX" -o -n "`echo $LEX | grep missing`" -o \
"`basename $LEX`" != "flex"; then
if test ! -f "$srcdir/src/util/show_help_lex.c"; then
if test ! -f "$srcdir/ompi/util/show_help_lex.c"; then
AC_MSG_WARN([*** Could not find GNU Flex on your system.])
AC_MSG_WARN([*** GNU Flex required for developer builds of Open MPI.])
AC_MSG_WARN([*** Other versions of Lex are not supported.])
@ -1249,7 +1249,7 @@ ompi_show_subtitle "Libtool configuration"
# 1.5) because it has support for a lot more things than older
# versions of libtool (which are generally installed by default).
AC_LIBLTDL_CONVENIENCE(src/libltdl)
AC_LIBLTDL_CONVENIENCE(opal/libltdl)
AC_SUBST(LTDLINCL)
AC_SUBST(LIBLTDL)
AC_LIBTOOL_DLOPEN
@ -1288,7 +1288,7 @@ fi
CFLAGS_save="$CFLAGS"
CFLAGS="$OMPI_CFLAGS_BEFORE_PICKY"
OMPI_CONFIG_SUBDIR(src/libltdl, [$ompi_subdir_args], [HAPPY=1], [HAPPY=0])
OMPI_CONFIG_SUBDIR(opal/libltdl, [$ompi_subdir_args], [HAPPY=1], [HAPPY=0])
if test "$HAPPY" = "1"; then
LIBLTDL_SUBDIR=libltdl
LIBLTDL_LTLIB=libltdl/libltdlc.la
@ -1297,8 +1297,8 @@ if test "$HAPPY" = "1"; then
# Arrgh. This is gross. But I can't think of any other way to do
# it. :-(
flags="`egrep ^LIBADD_DL src/libltdl/Makefile | cut -d= -f2-`"
OMPI_CHECK_LINKER_FLAGS([src/libltdl/libtool], [-export-dynamic $flags])
flags="`egrep ^LIBADD_DL opal/libltdl/Makefile | cut -d= -f2-`"
OMPI_CHECK_LINKER_FLAGS([opal/libltdl/libtool], [-export-dynamic $flags])
WRAPPER_EXTRA_LIBS="$WRAPPER_EXTRA_LIBS $extra_ldflags"
LDFLAGS="-export-dynamic $LDFLAGS"
else
@ -1328,8 +1328,8 @@ ompi_show_subtitle "Wrapper compiler flags"
# purely aesthetic.
#
CPPFLAGS='-I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_builddir)/src'" $CPPFLAGS"
CXXCPPFLAGS='-I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_builddir)/src'" $CXXCPPFLAGS"
CPPFLAGS='-I$(top_srcdir)/include -I$(top_srcdir)/opal -I$(top_builddir)/opal -I$(top_srcdir)/orte -I$(top_builddir)/orte -I$(top_srcdir)/ompi -I$(top_builddir)/ompi'" $CPPFLAGS"
CXXCPPFLAGS='-I$(top_srcdir)/include -I$(top_srcdir)/opal -I$(top_builddir)/opal -I$(top_srcdir)/orte -I$(top_builddir)/orte -I$(top_srcdir)/ompi -I$(top_builddir)/ompi'" $CXXCPPFLAGS"
#
# Adding WRAPPER_* flags so that extra flags needed for wrappper compilers
@ -1444,142 +1444,147 @@ AC_CONFIG_FILES([
etc/Makefile
src/Makefile
src/include/Makefile
src/include/sys/Makefile
src/include/sys/alpha/Makefile
src/include/sys/amd64/Makefile
src/include/sys/ia32/Makefile
src/include/sys/ia64/Makefile
src/include/sys/mips/Makefile
src/include/sys/powerpc/Makefile
src/include/sys/sparc/Makefile
src/include/sys/sparcv9/Makefile
src/include/sys/win32/Makefile
opal/Makefile
opal/include/Makefile
opal/include/sys/Makefile
opal/include/sys/alpha/Makefile
opal/include/sys/amd64/Makefile
opal/include/sys/ia32/Makefile
opal/include/sys/ia64/Makefile
opal/include/sys/mips/Makefile
opal/include/sys/powerpc/Makefile
opal/include/sys/sparc/Makefile
opal/include/sys/sparcv9/Makefile
opal/include/sys/win32/Makefile
src/class/Makefile
src/runtime/Makefile
src/threads/Makefile
src/util/Makefile
opal/asm/Makefile
opal/class/Makefile
opal/event/Makefile
opal/event/compat/Makefile
opal/event/compat/sys/Makefile
opal/runtime/Makefile
opal/threads/Makefile
opal/util/Makefile
src/event/Makefile
src/event/compat/Makefile
src/event/compat/sys/Makefile
opal/mca/Makefile
opal/mca/base/Makefile
opal/dynamic-mca/Makefile
src/attribute/Makefile
src/asm/Makefile
src/communicator/Makefile
src/datatype/Makefile
src/dps/Makefile
src/errhandler/Makefile
src/file/Makefile
src/group/Makefile
src/info/Makefile
src/op/Makefile
src/proc/Makefile
src/request/Makefile
src/win/Makefile
opal/mca/allocator/Makefile
opal/mca/allocator/base/Makefile
opal/mca/mpool/Makefile
opal/mca/mpool/base/Makefile
src/mca/Makefile
src/mca/base/Makefile
src/mca/common/Makefile
opal/dynamic-mca/mpool/Makefile
opal/dynamic-mca/allocator/Makefile
src/mca/errmgr/Makefile
src/mca/errmgr/base/Makefile
src/mca/iof/Makefile
src/mca/iof/base/Makefile
src/mca/gpr/Makefile
src/mca/gpr/base/Makefile
src/mca/gpr/base/data_type_support/Makefile
src/mca/gpr/base/pack_api_cmd/Makefile
src/mca/gpr/base/unpack_api_response/Makefile
src/mca/ns/Makefile
src/mca/ns/base/Makefile
src/mca/ns/base/data_type_support/Makefile
src/mca/oob/Makefile
src/mca/oob/base/Makefile
src/mca/pls/Makefile
src/mca/pls/base/Makefile
src/mca/ras/Makefile
src/mca/ras/base/Makefile
src/mca/rds/Makefile
src/mca/rds/base/Makefile
src/mca/rmaps/Makefile
src/mca/rmaps/base/Makefile
src/mca/rmgr/Makefile
src/mca/rmgr/base/Makefile
src/mca/rmgr/base/data_type_support/Makefile
src/mca/schema/Makefile
src/mca/schema/base/Makefile
src/mca/soh/Makefile
src/mca/soh/base/Makefile
src/mca/soh/base/data_type_support/Makefile
orte/runtime/Makefile
orte/dps/Makefile
orte/tools/console/Makefile
orte/tools/orted/Makefile
orte/tools/orteprobe/Makefile
orte/tools/orterun/Makefile
src/mca/allocator/Makefile
src/mca/allocator/base/Makefile
src/mca/btl/Makefile
src/mca/btl/base/Makefile
src/mca/coll/Makefile
src/mca/coll/base/Makefile
src/mca/io/Makefile
src/mca/io/base/Makefile
src/mca/mpool/Makefile
src/mca/mpool/base/Makefile
src/mca/pml/Makefile
src/mca/pml/base/Makefile
src/mca/ptl/Makefile
src/mca/ptl/base/Makefile
src/mca/rml/Makefile
src/mca/rml/base/Makefile
src/mca/topo/Makefile
src/mca/topo/base/Makefile
orte/mca/errmgr/Makefile
orte/mca/errmgr/base/Makefile
orte/mca/iof/Makefile
orte/mca/iof/base/Makefile
orte/mca/gpr/Makefile
orte/mca/gpr/base/Makefile
orte/mca/gpr/base/data_type_support/Makefile
orte/mca/gpr/base/pack_api_cmd/Makefile
orte/mca/gpr/base/unpack_api_response/Makefile
orte/mca/ns/Makefile
orte/mca/ns/base/Makefile
orte/mca/ns/base/data_type_support/Makefile
orte/mca/oob/Makefile
orte/mca/oob/base/Makefile
orte/mca/pls/Makefile
orte/mca/pls/base/Makefile
orte/mca/ras/Makefile
orte/mca/ras/base/Makefile
orte/mca/rds/Makefile
orte/mca/rds/base/Makefile
orte/mca/rmaps/Makefile
orte/mca/rmaps/base/Makefile
orte/mca/rmgr/Makefile
orte/mca/rmgr/base/Makefile
orte/mca/rmgr/base/data_type_support/Makefile
orte/mca/rml/Makefile
orte/mca/rml/base/Makefile
orte/mca/schema/Makefile
orte/mca/schema/base/Makefile
orte/mca/soh/Makefile
orte/mca/soh/base/Makefile
orte/mca/soh/base/data_type_support/Makefile
src/dynamic-mca/common/Makefile
orte/dynamic-mca/errmgr/Makefile
orte/dynamic-mca/iof/Makefile
orte/dynamic-mca/gpr/Makefile
orte/dynamic-mca/ns/Makefile
orte/dynamic-mca/oob/Makefile
orte/dynamic-mca/pls/Makefile
orte/dynamic-mca/ras/Makefile
orte/dynamic-mca/rds/Makefile
orte/dynamic-mca/rmaps/Makefile
orte/dynamic-mca/rmgr/Makefile
orte/dynamic-mca/rml/Makefile
orte/dynamic-mca/schema/Makefile
orte/dynamic-mca/soh/Makefile
src/dynamic-mca/errmgr/Makefile
src/dynamic-mca/iof/Makefile
src/dynamic-mca/gpr/Makefile
src/dynamic-mca/ns/Makefile
src/dynamic-mca/oob/Makefile
src/dynamic-mca/pls/Makefile
src/dynamic-mca/ras/Makefile
src/dynamic-mca/rds/Makefile
src/dynamic-mca/rmaps/Makefile
src/dynamic-mca/rmgr/Makefile
src/dynamic-mca/schema/Makefile
src/dynamic-mca/soh/Makefile
src/dynamic-mca/Makefile
src/dynamic-mca/allocator/Makefile
src/dynamic-mca/btl/Makefile
src/dynamic-mca/coll/Makefile
src/dynamic-mca/io/Makefile
src/dynamic-mca/mpool/Makefile
src/dynamic-mca/pml/Makefile
src/dynamic-mca/ptl/Makefile
src/dynamic-mca/rml/Makefile
src/dynamic-mca/topo/Makefile
ompi/attribute/Makefile
ompi/communicator/Makefile
ompi/datatype/Makefile
ompi/errhandler/Makefile
ompi/file/Makefile
ompi/group/Makefile
ompi/info/Makefile
ompi/op/Makefile
ompi/proc/Makefile
ompi/request/Makefile
ompi/win/Makefile
src/mpi/Makefile
src/mpi/c/Makefile
src/mpi/c/profile/Makefile
src/mpi/cxx/Makefile
src/mpi/f77/Makefile
src/mpi/f77/profile/Makefile
src/mpi/f90/Makefile
src/mpi/f90/fortran_kinds.sh
src/mpi/f90/fortran_sizes.h
src/mpi/f90/scripts/Makefile
src/mpi/runtime/Makefile
ompi/mpi/Makefile
ompi/mpi/c/Makefile
ompi/mpi/c/profile/Makefile
ompi/mpi/cxx/Makefile
ompi/mpi/f77/Makefile
ompi/mpi/f77/profile/Makefile
ompi/mpi/f90/Makefile
ompi/mpi/f90/fortran_kinds.sh
ompi/mpi/f90/fortran_sizes.h
ompi/mpi/f90/scripts/Makefile
ompi/mpi/runtime/Makefile
src/tools/Makefile
src/tools/console/Makefile
src/tools/ompi_info/Makefile
src/tools/orted/Makefile
src/tools/orteprobe/Makefile
src/tools/orterun/Makefile
src/tools/openmpi/Makefile
src/tools/wrappers/Makefile
ompi/tools/Makefile
ompi/tools/ompi_info/Makefile
ompi/tools/openmpi/Makefile
ompi/tools/wrappers/Makefile
ompi/mca/common/Makefile
ompi/mca/btl/Makefile
ompi/mca/btl/base/Makefile
ompi/mca/coll/Makefile
ompi/mca/coll/base/Makefile
ompi/mca/io/Makefile
ompi/mca/io/base/Makefile
ompi/mca/pml/Makefile
ompi/mca/pml/base/Makefile
ompi/mca/ptl/Makefile
ompi/mca/ptl/base/Makefile
ompi/mca/topo/Makefile
ompi/mca/topo/base/Makefile
ompi/dynamic-mca/common/Makefile
ompi/dynamic-mca/btl/Makefile
ompi/dynamic-mca/coll/Makefile
ompi/dynamic-mca/io/Makefile
ompi/dynamic-mca/pml/Makefile
ompi/dynamic-mca/ptl/Makefile
ompi/dynamic-mca/topo/Makefile
test/Makefile
test/asm/Makefile

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

@ -19,5 +19,4 @@ include $(top_srcdir)/config/Makefile.options
EXTRA_DIST = win_makefile
SUBDIRS = ompi_info wrappers orted orteprobe orterun openmpi console
SUBDIRS = ompi_info wrappers openmpi

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

@ -18,7 +18,7 @@ include $(top_srcdir)/config/Makefile.options
SUBDIRS = \
allocator \
mpool \
mpool
# Source code files

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

@ -31,7 +31,7 @@ libruntime_la_SOURCES = \
$(headers) \
ompi_progress.c \
orte_finalize.c \
orte_init.c \
orte_init.c
# Conditionally install the header files