1
1

* Generate ompi_get_version.sh from ompi_get_version.m4, removing a bunch of

duplicated logic that wasn't being duplicated all that well.  Thanks goes
  to Ralf Wildenhues for the bulk of the patch.

This commit was SVN r8779.
Этот коммит содержится в:
Brian Barrett 2006-01-21 22:53:16 +00:00
родитель a437fd3aaf
Коммит dc088d0023
5 изменённых файлов: 96 добавлений и 112 удалений

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

@ -1,6 +1,6 @@
#! /bin/bash #! /bin/bash
# #
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana # Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
# University Research and Technology # University Research and Technology
# Corporation. All rights reserved. # Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University # Copyright (c) 2004-2005 The University of Tennessee and The University
@ -40,6 +40,10 @@ ompi_autoconf_search="autoconf"
if test ! -z "$AUTOCONF"; then if test ! -z "$AUTOCONF"; then
ompi_autoconf_search="$AUTOCONF" ompi_autoconf_search="$AUTOCONF"
fi fi
ompi_autom4te_search="autom4te"
if test ! -z "$AUTOM4TE"; then
ompi_autom4te_search="$AUTOM4TE"
fi
ompi_libtoolize_search="libtoolize;glibtoolize" ompi_libtoolize_search="libtoolize;glibtoolize"
if test ! -z "$LIBTOOLIZE"; then if test ! -z "$LIBTOOLIZE"; then
ompi_libtoolize_search="$LIBTOOLIZE" ompi_libtoolize_search="$LIBTOOLIZE"
@ -63,6 +67,7 @@ ompi_libtool_version="1.5.16"
ompi_aclocal_version="$ompi_automake_version" ompi_aclocal_version="$ompi_automake_version"
ompi_autoheader_version="$ompi_autoconf_version" ompi_autoheader_version="$ompi_autoconf_version"
ompi_libtoolize_version="$ompi_libtool_version" ompi_libtoolize_version="$ompi_libtool_version"
ompi_autom4te_version="$ompi_autoconf_version"
# program names to execute # program names to execute
ompi_aclocal="" ompi_aclocal=""
@ -375,6 +380,12 @@ EOF
echo "*** Running GNU tools" echo "*** Running GNU tools"
if test -f include/mpi.h.in; then
cd config
run_and_check $ompi_autom4te --language=m4sh ompi_get_version.m4sh -o ompi_get_version.sh
cd ..
fi
run_and_check $ompi_aclocal run_and_check $ompi_aclocal
if test "`grep AC_CONFIG_HEADER $file`" != "" -o \ if test "`grep AC_CONFIG_HEADER $file`" != "" -o \
"`grep AM_CONFIG_HEADER $file`" != ""; then "`grep AM_CONFIG_HEADER $file`" != ""; then
@ -1088,6 +1099,7 @@ EOF
fi fi
# find all the apps we are going to run # find all the apps we are going to run
find_app "autom4te"
find_app "aclocal" find_app "aclocal"
find_app "autoheader" find_app "autoheader"
find_app "autoconf" find_app "autoconf"

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

@ -1,5 +1,5 @@
# #
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana # Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
# University Research and Technology # University Research and Technology
# Corporation. All rights reserved. # Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University # Copyright (c) 2004-2005 The University of Tennessee and The University
@ -49,6 +49,7 @@ EXTRA_DIST = \
ompi_configure_options.m4 \ ompi_configure_options.m4 \
ompi_functions.m4 \ ompi_functions.m4 \
ompi_get_version.m4 \ ompi_get_version.m4 \
ompi_get_version.m4sh \
ompi_get_version.sh \ ompi_get_version.sh \
ompi_make_stripped_flags.m4 \ ompi_make_stripped_flags.m4 \
ompi_mca.m4 \ ompi_mca.m4 \

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

@ -1,6 +1,6 @@
dnl -*- shell-script -*- dnl -*- shell-script -*-
dnl dnl
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana dnl Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
dnl University Research and Technology dnl University Research and Technology
dnl Corporation. All rights reserved. dnl Corporation. All rights reserved.
dnl Copyright (c) 2004-2005 The University of Tennessee and The University dnl Copyright (c) 2004-2005 The University of Tennessee and The University
@ -18,70 +18,68 @@ dnl $HEADER$
dnl dnl
dnl dnl
dnl This file is almost identical in functionality to dnl This file is also used as input to ompi_get_version.sh.
dnl ompi_get_version.sh. It is unfortunate that we have to duplicate code, dnl
dnl but it is really the only what that I can think to do it. :-( Hence,
dnl if you change the logic here for determining version numbers, YOU MUST
dnl ALSO CHANGE IT IN ompi_get_version.sh!!
dnl
AC_DEFUN([OMPI_GET_VERSION],[ # OMPI_GET_VERSION(version_file, variable_prefix)
gv_ver_file="$1" # -----------------------------------------------
gv_prefix="$2" # parse version_file for version information, setting
# the following shell variables:
#
# prefix_VERSION
# prefix_BASE_VERSION
# prefix_MAJOR_VERSION
# prefix_MINOR_VERSION
# prefix_RELEASE_VERSION
# prefix_GREEK_VERSION
# prefix_WANT_SVN
# prefix_SVN_R
m4_define([OMPI_GET_VERSION],[
: ${ompi_ver_need_svn=1}
: ${srcdir=.}
dnl quote eval to suppress macro expansion with non-GNU m4 dnl quote eval to suppress macro expansion with non-GNU m4
if test -f "$1"; then
[eval] "`sed -n \"\
t clear
: clear
s/^major/$2_MAJOR_VERSION/
s/^minor/$2_MINOR_VERSION/
s/^release/$2_RELEASE_VERSION/
s/^greek/$2_GREEK_VERSION/
s/^want_svn/$2_WANT_SVN/
s/^svn_r/$2_SVN_R/
t print
b
: print
p\" < \"\$1\"`"
gv_run() { # Only print release version if it isn't 0
str="${gv_prefix}_${2}=\$gv_${1}" if test $$2_RELEASE_VERSION -ne 0 ; then
[eval] $str $2_VERSION="$$2_MAJOR_VERSION.$$2_MINOR_VERSION.$$2_RELEASE_VERSION"
} else
$2_VERSION="$$2_MAJOR_VERSION.$$2_MINOR_VERSION"
if test -n "$gv_ver_file" -a -f "$gv_ver_file"; then fi
gv_major_version="`egrep '^major=' $gv_ver_file | cut -d= -f2`" $2_VERSION="${$2_VERSION}${$2_GREEK_VERSION}"
gv_minor_version="`egrep '^minor=' $gv_ver_file | cut -d= -f2`" $2_BASE_VERSION=$$2_VERSION
gv_release_version="`egrep '^release=' $gv_ver_file | cut -d= -f2`"
gv_greek_version="`egrep '^greek=' $gv_ver_file | cut -d= -f2`" if test $$2_WANT_SVN -eq 1 && test $ompi_ver_need_svn -eq 1 ; then
gv_want_svn="`egrep '^want_svn=' $gv_ver_file | cut -d= -f2`" if test $$2_SVN_R -eq -1 ; then
gv_svn_r="`egrep '^svn_r=' $gv_ver_file | cut -d= -f2`" m4_ifdef([AC_MSG_CHECKING],
[AC_MSG_CHECKING([for SVN version])])
if test -n "$gv_release_version" -a "$gv_release_version" != "0"; then if test -d "$srcdir/.svn" ; then
gv_full_version="$gv_major_version.$gv_minor_version.$gv_release_version" $2_SVN_R=r`svnversion "$srcdir"`
else # make sure svnversion worked
gv_full_version="$gv_major_version.$gv_minor_version" if test $? -ne 0 ; then
fi $2_SVN_R=svn`date '+%m%d%Y'`
fi
gv_full_version="${gv_full_version}${gv_greek_version}" else
$2_SVN_R=svn`date '+%m%d%Y'`
if test "$gv_want_svn" = "1"; then fi
if test "$gv_svn_r" = "-1"; then m4_ifdef([AC_MSG_RESULT],
if test -d "$srcdir/.svn"; then [AC_MSG_RESULT([done])])
ver=r`svnversion "$srcdir"` fi
# make sure svnversion worked $2_VERSION="${$2_VERSION}${$2_SVN_R}"
if test "$?" != "0" ; then
ver=svn`date '+%m%d%Y'`
fi
else
ver=svn`date '+%m%d%Y'`
fi
gv_svn_r="$ver"
fi fi
gv_full_version="${gv_full_version}$gv_svn_r"
fi fi
# Set the values
gv_run full_version VERSION
gv_run major_version MAJOR_VERSION
gv_run minor_version MINOR_VERSION
gv_run release_version RELEASE_VERSION
gv_run greek_version GREEK_VERSION
gv_run want_svn WANT_SVN
gv_run svn_r SVN_R
fi
# Clean up
unset gv_glv_dir gv_ver_file gv_prefix gv_prog gv_run \
gv_major_version gv_minor_version gv_release_version \
gv_greek_version gv_want_svn gv_svn_r
]) ])

48
config/ompi_get_version.sh → config/ompi_get_version.m4sh Исполняемый файл → Обычный файл
Просмотреть файл

@ -1,6 +1,10 @@
m4_define([_m4_divert(SCRIPT)], 100)
m4_divert_push([SCRIPT])dnl
#!/bin/sh #!/bin/sh
# #
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana # ompi_get_version is created from ompi_get_version.m4 and ompi_get_version.m4sh.
#
# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
# University Research and Technology # University Research and Technology
# Corporation. All rights reserved. # Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University # Copyright (c) 2004-2005 The University of Tennessee and The University
@ -17,13 +21,7 @@
# $HEADER$ # $HEADER$
# #
# m4_include([ompi_get_version.m4])
# This file is almost identical in functionality to
# ompi_get_version.m4. It is unfortunate that we have to duplicate
# code, but it is really the only what that I can think to do it. :-(
# Hence, if you change the logic here for determining version numbers,
# YOU MUST ALSO CHANGE IT IN ompi_get_version.m4!!
#
srcfile="$1" srcfile="$1"
option="$2" option="$2"
@ -31,43 +29,17 @@ option="$2"
case "$option" in case "$option" in
# svnversion can take a while to run. If we don't need it, don't run it. # svnversion can take a while to run. If we don't need it, don't run it.
--major|--minor|--release|--greek|--base|--help) --major|--minor|--release|--greek|--base|--help)
OMPI_NEED_SVN=0 ompi_ver_need_svn=0
;; ;;
*) *)
OMPI_NEED_SVN=1 ompi_ver_need_svn=1
esac esac
if test "$srcfile" = ""; then if test -z "$srcfile"; then
option="--help" option="--help"
else else
OMPI_MAJOR_VERSION="`cat $srcfile | egrep '^major=' | cut -d= -f2`" OMPI_GET_VERSION([$srcfile],[OMPI])
OMPI_MINOR_VERSION="`cat $srcfile | egrep '^minor=' | cut -d= -f2`"
OMPI_RELEASE_VERSION="`cat $srcfile | egrep '^release=' | cut -d= -f2`"
OMPI_GREEK_VERSION="`cat $srcfile | egrep '^greek=' | cut -d= -f2`"
OMPI_WANT_SVN="`cat $srcfile | egrep '^want_svn=' | cut -d= -f2`"
OMPI_SVN_R="`cat $srcfile | egrep '^svn_r=' | cut -d= -f2`"
if test "$OMPI_RELEASE_VERSION" != "0" -a "$OMPI_RELEASE_VERSION" != ""; then
OMPI_VERSION="$OMPI_MAJOR_VERSION.$OMPI_MINOR_VERSION.$OMPI_RELEASE_VERSION"
else
OMPI_VERSION="$OMPI_MAJOR_VERSION.$OMPI_MINOR_VERSION"
fi
OMPI_VERSION="${OMPI_VERSION}${OMPI_GREEK_VERSION}"
OMPI_BASE_VERSION="$OMPI_VERSION"
if test "$OMPI_WANT_SVN" = "1" -a "$OMPI_NEED_SVN" = "1" ; then
if test "$OMPI_SVN_R" = "-1"; then
if test -d .svn; then
ver="r`svnversion .`"
else
ver="svn`date '+%m%d%Y'`"
fi
OMPI_SVN_R="$ver"
fi
OMPI_VERSION="${OMPI_VERSION}$OMPI_SVN_R"
fi
if test "$option" = ""; then if test "$option" = ""; then
option="--full" option="--full"

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

@ -1,6 +1,6 @@
# -*- shell-script -*- # -*- shell-script -*-
# #
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana # Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
# University Research and Technology # University Research and Technology
# Corporation. All rights reserved. # Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University # Copyright (c) 2004-2005 The University of Tennessee and The University
@ -48,9 +48,18 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects no-define])
# Make configure depend on the VERSION file, since it's used in AC_INIT # Make configure depend on the VERSION file, since it's used in AC_INIT
AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION']) AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
#
# Start it up
#
OMPI_CONFIGURE_SETUP
ompi_show_title "Configuring Open MPI"
ompi_show_subtitle "Checking versions"
# 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)
# override/fixup the version numbers set by AC_INIT, since on # override/fixup the version numbers set by AC_INIT, since on
# developer builds, there's no good way to know what the version is # developer builds, there's no good way to know what the version is
@ -140,14 +149,6 @@ AC_DEFINE_UNQUOTED(OPAL_GREEK_VERSION, "$OPAL_GREEK_VERSION",
AC_DEFINE_UNQUOTED(OPAL_VERSION, "$OPAL_RELEASE_VERSION", AC_DEFINE_UNQUOTED(OPAL_VERSION, "$OPAL_RELEASE_VERSION",
[Complete release number of OPAL]) [Complete release number of OPAL])
#
# Start it up
#
OMPI_CONFIGURE_SETUP
ompi_show_title "Configuring Open MPI"
ompi_show_subtitle "Checking versions"
AC_MSG_CHECKING([Open MPI version]) AC_MSG_CHECKING([Open MPI version])
AC_MSG_RESULT([$OMPI_VERSION]) AC_MSG_RESULT([$OMPI_VERSION])
AC_MSG_CHECKING([Open MPI Subversion repository version]) AC_MSG_CHECKING([Open MPI Subversion repository version])