1
1

Clean up a couple of configure things:

* Require Autoconf 2.60 or higher and remove some cruft
    required for AC 2.59 or the AC 2.59 / AC 2.60 mix
  * Remove a bunch of now unnecessary AC_SUBST calls
  * Use the libtool-provided variables for the -I and
    library to use when compiling against ltdl

Fixes trac:1000

This commit was SVN r14652.

The following Trac tickets were found above:
  Ticket 1000 --> https://svn.open-mpi.org/trac/ompi/ticket/1000
Этот коммит содержится в:
Brian Barrett 2007-05-15 04:23:48 +00:00
родитель c5782642d9
Коммит 21e00f6f0c
18 изменённых файлов: 47 добавлений и 232 удалений

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

@ -52,8 +52,6 @@ m4_include(config/f90_get_range.m4)
m4_include(config/f90_get_sizeof.m4)
m4_include(config/f90_get_int_kind.m4)
m4_include(config/ompi_objc.m4)
m4_include(config/ompi_try_assemble.m4)
m4_include(config/ompi_config_asm.m4)
@ -96,7 +94,6 @@ m4_include(config/ompi_setup_f90.m4)
m4_include(config/ompi_setup_libevent.m4)
m4_include(config/ompi_setup_wrappers.m4)
m4_include(config/ompi_make_stripped_flags.m4)
m4_include(config/ompi_install_dirs.m4)
m4_include(config/ompi_save_version.m4)
m4_include(config/ompi_check_pthread_pids.m4)

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

@ -487,12 +487,13 @@ EOF
else
echo " -- your libltdl doesn't need this! yay!"
fi
echo " ++ patching configure for broken -c/-o compiler test"
sed -e 's/chmod -w \./#OMPI\/MPI FIX: chmod -w ./' \
configure > configure.new
mv configure.new configure
chmod a+x configure
if grep 'chmod -w \.' configure ; then
echo " ++ patching configure for broken -c/-o compiler test"
sed -e 's/chmod -w \./#OMPI\/MPI FIX: chmod -w ./' \
configure > configure.new
mv configure.new configure
chmod a+x configure
fi
else
run_and_check $ompi_libtoolize --automake --copy
fi

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

@ -1,83 +0,0 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. 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 (c) 2006-2007 Los Alamos National Security, LLC. All rights
# reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# OMPI_INSTALL_DIRS(header_file)
# ------------------------------
# Write out the installation directories into a header file that is
# written by AC_SUBST so that files that depend on hard-coded paths
# can include it and be rebuilt when paths change. We don't AC_DEFINE
# because we don't want to rebuild the entire tree just because
# someone changed the prefix.
AC_DEFUN([OMPI_INSTALL_DIRS], [
ompi_exec_prefix_save="$exec_prefix"
ompi_prefix_save="$prefix"
m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]), [2.60]), -1,
[ # Previous to 2.60, everything was definied in terms
# of datadir instead of datarootdir, so set datarootdir to
# datadir in that situation....
ompi_datadir_save="$datadir"
datarootdir="${datadir}"
datadir='${datarootdir}'])
# need to temporarily expand this out as almost exactly as it will
# be done later so that NONE doesn't show up in the
# {exec_}prefix-based variables.
test "x$prefix" = xNONE && prefix=$ac_default_prefix
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
OPAL_PREFIX="$prefix"
OPAL_EXEC_PREFIX="$exec_prefix"
OPAL_BINDIR="$bindir"
OPAL_SBINDIR="$sbindir"
OPAL_LIBEXECDIR="$libexecdir"
OPAL_DATAROOTDIR="$datarootdir"
OPAL_DATADIR="$datadir"
OPAL_SYSCONFDIR="$sysconfdir"
OPAL_SHAREDSTATEDIR="$sharedstatedir"
OPAL_LOCALSTATEDIR="$localstatedir"
OPAL_LIBDIR="$libdir"
OPAL_INCLUDEDIR="$includedir"
OPAL_INFODIR="$infodir"
OPAL_MANDIR="$mandir"
AC_SUBST(OPAL_PREFIX)
AC_SUBST(OPAL_EXEC_PREFIX)
AC_SUBST(OPAL_BINDIR)
AC_SUBST(OPAL_SBINDIR)
AC_SUBST(OPAL_LIBEXECDIR)
AC_SUBST(OPAL_DATAROOTDIR)
AC_SUBST(OPAL_DATADIR)
AC_SUBST(OPAL_SYSCONFDIR)
AC_SUBST(OPAL_SHAREDSTATEDIR)
AC_SUBST(OPAL_LOCALSTATEDIR)
AC_SUBST(OPAL_LIBDIR)
AC_SUBST(OPAL_INCLUDEDIR)
AC_SUBST(OPAL_INFODIR)
AC_SUBST(OPAL_MANDIR)
prefix="$ompi_prefix_save"
exec_prefix="$ompi_exec_prefix_save"
m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]), [2.60]), -1,
[datadir="$ompi_datadir_save"])
AC_CONFIG_FILES([$1])
])dnl

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

@ -1,80 +0,0 @@
dnl -*- autoconf -*-
dnl
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
dnl Corporation. All rights reserved.
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
dnl of Tennessee Research Foundation. All rights
dnl reserved.
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
dnl University of Stuttgart. All rights reserved.
dnl Copyright (c) 2004-2005 The Regents of the University of California.
dnl All rights reserved.
dnl Copyright (c) 2006 Los Alamos National Security, LLC. All rights
dnl reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
dnl
dnl $HEADER$
dnl
# XXX - FIX ME - when we drop support for 2.58 and 2.59,
# remove this stuff
# Autoconf 2.59 and prior don't support Objective C code, so hack
# in the minimal amount of support needed to build the XGrid
# code on Mac OS X. Since the Objective C and C compilers are
# one and the same on OS X, there isn't a whole lot of support
# we really need here... Loosely based on how 2.59 treats
# C++ source, plus lots of trial and error...
m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]), [2.60]), -1,
[
m4_define([AC_LANG(Objective C)],
[ac_ext=m
ac_cpp='$OBJCCPP $CPPFLAGS'
ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&AS_MESSAGE_LOG_FD'
ac_compiler_gnu=$ac_cv_objc_compiler_gnu
])
AU_DEFUN([AC_LANG_OBJC], [AC_LANG(Objective C)])
m4_define([_AC_LANG_ABBREV(Objective C)], [objc])
m4_define([_AC_LANG_PREFIX(Objective C)], [OBJC])
m4_copy([AC_LANG_SOURCE(C)], [AC_LANG_SOURCE(Objective C)])
m4_copy([AC_LANG_PROGRAM(C)], [AC_LANG_PROGRAM(Objective C)])
# m4_defun instead of AC_DEFUN because there's a bad character for
# the shell in the macro name and AM 1.9.6 appears to really not
# like that behavior...
m4_defun([AC_LANG_COMPILER(Objective C)],
[AC_REQUIRE([AC_PROG_OBJC])])
AC_DEFUN([AC_PROG_OBJC],
[AC_LANG_PUSH(Objective C)dnl
AC_ARG_VAR([OBJC], [Objective C compiler command])dnl
AC_ARG_VAR([OBJCFLAGS], [Objective C compiler flags])dnl
_AC_ARG_VAR_LDFLAGS()dnl
_AC_ARG_VAR_CPPFLAGS()dnl
_AC_ARG_VAR_PRECIOUS([OBJC])dnl
AC_CHECK_TOOLS(OBJC,
[m4_default([$1], [gcc objcc cc])], gcc)
# Provide some information about the compiler.
echo "$as_me:$LINENO:" \
"checking for _AC_LANG compiler version" >&AS_MESSAGE_LOG_FD
ac_compiler=`set X $ac_compile; echo $[2]`
_AC_EVAL([$ac_compiler --version </dev/null >&AS_MESSAGE_LOG_FD])
_AC_EVAL([$ac_compiler -v </dev/null >&AS_MESSAGE_LOG_FD])
_AC_EVAL([$ac_compiler -V </dev/null >&AS_MESSAGE_LOG_FD])
m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
_AC_LANG_COMPILER_GNU
GOBJC=`test $ac_compiler_gnu = yes && echo yes`
AC_LANG_POP(Objective C)dnl
_AM_DEPENDENCIES(OBJC)
])
])

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

@ -35,7 +35,7 @@
AC_INIT([Open MPI],
[m4_normalize(esyscmd([config/ompi_get_version.sh VERSION --base]))],
[http://www.open-mpi.org/community/help/], [openmpi])
AC_PREREQ(2.58)
AC_PREREQ(2.60)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR(config)
@ -44,13 +44,9 @@ AC_CONFIG_MACRO_DIR(config)
OMPI_LOAD_PLATFORM
#
# Init automake - if we are using AC.260 or higher, require AM 1.10 or higher
# Init automake
#
# XXX - FIX ME - when we drop support for 2.58 and 2.59,
# remove this test and require 1.10 or higher all the time.
m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]), [2.60]), -1,
[AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects no-define])],
[AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects no-define 1.10])])
AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects no-define 1.10])
m4_pattern_allow([m4_ifval])
@ -972,16 +968,11 @@ CFLAGS="$CFLAGS_save"
ompi_show_subtitle "Libtool configuration"
# Use convenience libltdl for the moment, because we need to force the
# use of the newest libltdl (i.e., the one that ships with libtool
# 1.5) because it has support for a lot more things than older
# versions of libtool (which are generally installed by default).
AS_IF([test "$OMPI_ENABLE_DLOPEN_SUPPORT" = "1"],
[AC_LIBLTDL_CONVENIENCE(opal/libltdl)
AC_LIBTOOL_DLOPEN])
AC_SUBST(LTDLINCL)
AC_SUBST(LIBLTDL)
AM_PROG_LIBTOOL
AC_LIBLTDL_CONVENIENCE(opal/libltdl)
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
ompi_show_subtitle "GNU libltdl setup"
# AC_CONFIG_SUBDIRS appears to be broken for non-gcc compilers (i.e.,
# passing precious variables down to the sub-configure).
@ -1000,8 +991,6 @@ AM_PROG_LIBTOOL
# $enable_shared and $enable_static and pass down the corresponding
# flags.
ompi_show_subtitle "GNU libltdl setup"
if test "$OMPI_ENABLE_DLOPEN_SUPPORT" = "1" ; then
ompi_subdir_args="$ompi_subdir_args --enable-ltdl-convenience --disable-ltdl-install"
if test "$enable_shared" = "yes"; then
@ -1017,17 +1006,17 @@ if test "$OMPI_ENABLE_DLOPEN_SUPPORT" = "1" ; then
CFLAGS_save="$CFLAGS"
CFLAGS="$OMPI_CFLAGS_BEFORE_PICKY"
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
WANT_LIBLTDL=1
# Arrgh. This is gross. But I can't think of any other way to do
# it. :-(
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
@ -1037,14 +1026,10 @@ opal/libltdl/config.log. You can also disable GNU libltdl (which will disable
dynamic shared object loading) by configuring with --disable-dlopen.])
fi
CFLAGS="$CFLAGS_save"
OPAL_LTDL_CPPFLAGS='-I$(top_srcdir)/opal/libltdl'
else
AC_MSG_WARN([libltdl support disabled (by --disable-dlopen)])
LIBLTDL_SUBDIR=
LIBLTDL_LTLIB=
WANT_LIBLTDL=0
OPAL_LTDL_CPPFLAGS=
# append instead of prepend, since LIBS are going to be system
# type things needed by everyone. Normally, libltdl will push
@ -1053,16 +1038,11 @@ else
WRAPPER_EXTRA_LIBS="$WRAPPER_EXTRA_LIBS $LIBS"
fi
AC_SUBST(LTDLINCL)
AC_SUBST(LIBLTDL)
AC_SUBST(LIBLTDL_SUBDIR)
AC_SUBST(LIBLTDL_LTLIB)
# Have a variable that can be used to indicate where ltdl.h lives. Do
# this specifically so that we get the included ltdl.h (which we know
# will work properly with the compiled code, including libltdl), not
# the system one (which is likely to be far too old and buggy).
AC_SUBST(OPAL_LTDL_CPPFLAGS)
AM_CONDITIONAL(WANT_LIBLTDL, test "$WANT_LIBLTDL" = "1")
AC_DEFINE_UNQUOTED(OMPI_WANT_LIBLTDL, $WANT_LIBLTDL,
AC_DEFINE_UNQUOTED(OMPI_WANT_LIBLTDL, $OMPI_ENABLE_DLOPEN_SUPPORT,
[Whether to include support for libltdl or not])

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

@ -16,7 +16,7 @@
# $HEADER$
#
AM_CPPFLAGS = $(OPAL_LTDL_CPPFLAGS)
AM_CPPFLAGS = $(LTDLINCL)
# main library setup
noinst_LTLIBRARIES = libmca_btl.la

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

@ -16,7 +16,7 @@
# $HEADER$
#
AM_CPPFLAGS = $(OPAL_LTDL_CPPFLAGS)
AM_CPPFLAGS = $(LTDLINCL)
# main library setup
noinst_LTLIBRARIES = libmca_coll.la

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

@ -16,7 +16,7 @@
# $HEADER$
#
AM_CPPFLAGS = $(OPAL_LTDL_CPPFLAGS)
AM_CPPFLAGS = $(LTDLINCL)
# main library setup
noinst_LTLIBRARIES = libmca_io.la

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

@ -16,7 +16,7 @@
# $HEADER$
#
AM_CPPFLAGS = $(OPAL_LTDL_CPPFLAGS)
AM_CPPFLAGS = $(LTDLINCL)
# main library setup
noinst_LTLIBRARIES = libmca_topo.la

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

@ -33,7 +33,7 @@ SUBDIRS = \
DIST_SUBDIRS = \
include \
$(LIBLTDL_SUBDIR) \
libltdl \
asm \
etc \
event \
@ -47,7 +47,7 @@ DIST_SUBDIRS = \
lib_LTLIBRARIES = libopen-pal.la
libopen_pal_la_SOURCES =
libopen_pal_la_LIBADD = \
$(LIBLTDL_LTLIB) \
$(LIBLTDL) \
asm/libasm.la \
event/libevent.la \
mca/base/libmca_base.la \

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

@ -20,7 +20,7 @@
# (by default)
AM_CPPFLAGS = \
$(OPAL_LTDL_CPPFLAGS)
$(LTDLINCL)
noinst_LTLIBRARIES = libmca_base.la

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

@ -15,7 +15,7 @@
#
AM_CPPFLAGS = \
$(OPAL_LTDL_CPPFLAGS)
$(LTDLINCL)
dist_pkgdata_DATA = help-opal-crs-self.txt

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

@ -20,6 +20,6 @@ AC_DEFUN([MCA_installdirs_config_COMPILE_MODE], [
# [action-if-cant-compile])
# ------------------------------------------------
AC_DEFUN([MCA_installdirs_config_CONFIG],[
OMPI_INSTALL_DIRS([opal/mca/installdirs/config/install_dirs.h])
AC_CONFIG_FILES([opal/mca/installdirs/config/install_dirs.h])
])

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

@ -36,17 +36,17 @@
#ifndef OPAL_INST_DIRS_H
#define OPAL_INST_DIRS_H
#define OPAL_PREFIX "@OPAL_PREFIX@"
#define OPAL_EXEC_PREFIX "@OPAL_EXEC_PREFIX@"
#define OPAL_PREFIX "@prefix@"
#define OPAL_EXEC_PREFIX "@exec_prefix@"
/* The directory for installing executable programs that users can
run. */
#define OPAL_BINDIR "@OPAL_BINDIR@"
#define OPAL_BINDIR "@bindir@"
/* The directory for installing executable programs that can be run
from the shell, but are only generally useful to system
administrators. */
#define OPAL_SBINDIR "@OPAL_SBINDIR@"
#define OPAL_SBINDIR "@sbindir@"
/* The directory for installing executable programs to be run by other
programs rather than by users.
@ -56,7 +56,7 @@
packages install their data under $(libexecdir)/package-name/,
possibly within additional subdirectories thereof, such as
$(libexecdir)/package-name/machine/version. */
#define OPAL_LIBEXECDIR "@OPAL_LIBEXECDIR@"
#define OPAL_LIBEXECDIR "@libexecdir@"
/* The root of the directory tree for read-only
architecture-independent data files.
@ -64,7 +64,7 @@
See not about OPAL_DATADIR. And you probably want that one, not
this one. This is one of those "building block" paths, that is
really only used for defining other paths. */
#define OPAL_DATAROOTDIR "@OPAL_DATAROOTDIR@"
#define OPAL_DATAROOTDIR "@datarootdir@"
/* The directory for installing idiosyncratic read-only
architecture-independent data files for this program.
@ -72,7 +72,7 @@
The definition of datadir is the same for all packages, so you
should install your data in a subdirectory thereof. Most packages
install their data under $(datadir)/package-name/. */
#define OPAL_DATADIR "@OPAL_DATADIR@"
#define OPAL_DATADIR "@datadir@"
/* $(datadir)/package-name/. You probably want to use this instead of
OPAL_DATADIR */
@ -89,11 +89,11 @@
that are modified in the normal course of their use (programs whose
purpose is to change the configuration of the system
excluded). Those probably belong in $(localstatedir). */
#define OPAL_SYSCONFDIR "@OPAL_SYSCONFDIR@"
#define OPAL_SYSCONFDIR "@sysconfdir@"
/* The directory for installing architecture-independent data files
which the programs modify while they run. */
#define OPAL_SHAREDSTATEDIR "@OPAL_SHAREDSTATEDIR@"
#define OPAL_SHAREDSTATEDIR "@sharedstatedir@"
/* The directory for installing data files which the programs modify
while they run, and that pertain to one specific machine. Users
@ -101,28 +101,28 @@
the package's operation; put such configuration information in
separate files that go in $(datadir) or
$(sysconfdir). */
#define OPAL_LOCALSTATEDIR "@OPAL_LOCALSTATEDIR@"
#define OPAL_LOCALSTATEDIR "@localstatedir@"
/* The directory for object files and libraries of object code. Do not
install executables here, they probably ought to go in
$(libexecdir) instead. */
#define OPAL_LIBDIR "@OPAL_LIBDIR@"
#define OPAL_LIBDIR "@libdir@"
/* $(libdir)/package-name/. This is where components should go */
#define OPAL_PKGLIBDIR "${libdir}/@PACKAGE@"
/* The directory for installing header files to be included by user
programs with the C #include preprocessor directive. */
#define OPAL_INCLUDEDIR "@OPAL_INCLUDEDIR@"
#define OPAL_INCLUDEDIR "@includedir@"
/* $(includedir)/package-name/. The devel headers go in here */
#define OPAL_PKGINCLUDEDIR "${includedir}/@PACKAGE@"
/* The directory for installing the Info files for this package. */
#define OPAL_INFODIR "@OPAL_INFODIR@"
#define OPAL_INFODIR "@infodir@"
/* The top-level directory for installing the man pages (if any) for
this package. */
#define OPAL_MANDIR "@OPAL_MANDIR@"
#define OPAL_MANDIR "@mandir@"
#endif

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

@ -16,7 +16,7 @@
# $HEADER$
#
AM_CPPFLAGS = $(OPAL_LTDL_CPPFLAGS)
AM_CPPFLAGS = $(LTDLINCL)
# main library setup
noinst_LTLIBRARIES = libmca_iof.la

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

@ -16,7 +16,7 @@
# $HEADER$
#
AM_CPPFLAGS = $(OPAL_LTDL_CPPFLAGS)
AM_CPPFLAGS = $(LTDLINCL)
# main library setup
noinst_LTLIBRARIES = libmca_rml.la

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

@ -16,7 +16,7 @@
# $HEADER$
#
AM_CPPFLAGS = $(OPAL_LTDL_CPPFLAGS)
AM_CPPFLAGS = $(LTDLINCL)
# main library setup
noinst_LTLIBRARIES = libmca_sds.la

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

@ -17,7 +17,7 @@
#
AM_CPPFLAGS = \
$(OPAL_LTDL_CPPFLAGS) \
$(LTDLINCL) \
-DBUILDDIR=\"$(OMPI_TOP_BUILDDIR)\" \
-DSRCDIR=\"$(OMPI_TOP_SRCDIR)\"