1
1

Require a modern version of flex to make a dist tarball so that it

generates Windows-friendly *_lex.c files.  Update HACKING to match.

Also need r22467 in the CMRs to fix how the pcie btl compiles and
distributes its .l file.

cmr:v1.4
cmr:v1.5

This commit was SVN r22468.

The following SVN revision numbers were found above:
  r22467 --> open-mpi/ompi@1a7b7f7180
Этот коммит содержится в:
Jeff Squyres 2010-01-22 16:39:38 +00:00
родитель 1a7b7f7180
Коммит 08fbd6c644
2 изменённых файлов: 32 добавлений и 7 удалений

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

@ -8,7 +8,7 @@ Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
University of Stuttgart. All rights reserved. University of Stuttgart. All rights reserved.
Copyright (c) 2004-2005 The Regents of the University of California. Copyright (c) 2004-2005 The Regents of the University of California.
All rights reserved. All rights reserved.
Copyright (c) 2008 Cisco Systems, Inc. All rights reserved. Copyright (c) 2008-2010 Cisco Systems, Inc. All rights reserved.
$COPYRIGHT$ $COPYRIGHT$
Additional copyrights may follow Additional copyrights may follow
@ -256,11 +256,18 @@ supported: given the choice of making parsing code portable between
all flavors of lex and doing more interesting work on Open MPI, we all flavors of lex and doing more interesting work on Open MPI, we
greatly prefer the latter. greatly prefer the latter.
Several developers use the stable flex version v2.5.4a from July of Several POSIXly-oriented developers use the stable flex version
1997. Others have upgraded to more recent versions; these also seem v2.5.4a from July of 1997. Others have upgraded to more recent
to work fine. Note that no testing has been performed to see what the versions; these also seem to work fine. Note that no testing has been
minimum version of Flex is required by Open MPI. We suggest that you performed to see what the minimum version of Flex is required by Open
use v2.5.4a at the earliest. MPI. We suggest that you use v2.5.4a at the earliest.
*** NOTE: Windows builds of Open MPI require Flex version 2.5.35.
Specifically, we know that v2.5.35 works and 2.5.4a does not. We have
not tested to figure out exactly what the minimum required flex
version is on Windows; we suggest that you use 2.5.35 at the earliest.
It is for this reason that the contrib/dist/make_dist_tarball script
checks for a Windows-friendly version of flex before continuing.
Note that the flex-generated code generates some compiler warnings on Note that the flex-generated code generates some compiler warnings on
some platforms, but the warnings do not seem to be consistent or some platforms, but the warnings do not seem to be consistent or

20
contrib/dist/make_dist_tarball поставляемый
Просмотреть файл

@ -26,6 +26,7 @@ M4_TARGET_VERSION=1.4.13
AM_TARGET_VERSION=1.11 AM_TARGET_VERSION=1.11
AC_TARGET_VERSION=2.65 AC_TARGET_VERSION=2.65
LT_TARGET_VERSION=2.2.6b LT_TARGET_VERSION=2.2.6b
FLEX_TARGET_VERSION=2.5.35
# #
# Check command line flags # Check command line flags
@ -66,6 +67,7 @@ check_gnu_version() {
target="$2" target="$2"
ver="`$prog --version | head -n 1 | sed -e's/([^)]*)//g' -e's/[^0-9 .][^ ]* / /g' -e's/ //g'`" ver="`$prog --version | head -n 1 | sed -e's/([^)]*)//g' -e's/[^0-9 .][^ ]* / /g' -e's/ //g'`"
echo $prog version is $ver
ver_major=`echo $ver | cut -d. -f1` ver_major=`echo $ver | cut -d. -f1`
ver_minor=`echo $ver | cut -d. -f2` ver_minor=`echo $ver | cut -d. -f2`
@ -122,6 +124,7 @@ m4: $M4_TARGET_VERSION
Automake: $AM_TARGET_VERSION Automake: $AM_TARGET_VERSION
Autoconf: $AC_TARGET_VERSION Autoconf: $AC_TARGET_VERSION
Libtool: $LT_TARGET_VERSION Libtool: $LT_TARGET_VERSION
Flex: $FLEX_TARGET_VERSION
Either change this script to match the found version, or install Either change this script to match the found version, or install
the correct version of the tools. the correct version of the tools.
@ -142,6 +145,7 @@ m4: $M4_TARGET_VERSION
Automake: $AM_TARGET_VERSION Automake: $AM_TARGET_VERSION
Autoconf: $AC_TARGET_VERSION Autoconf: $AC_TARGET_VERSION
Libtool: $LT_TARGET_VERSION Libtool: $LT_TARGET_VERSION
Flex: $FLEX_TARGET_VERSION
Either change this script to match the found version, or install Either change this script to match the found version, or install
the correct version of the tools. the correct version of the tools.
@ -160,6 +164,7 @@ m4: $M4_TARGET_VERSION
Automake: $AM_TARGET_VERSION Automake: $AM_TARGET_VERSION
Autoconf: $AC_TARGET_VERSION Autoconf: $AC_TARGET_VERSION
Libtool: $LT_TARGET_VERSION Libtool: $LT_TARGET_VERSION
Flex: $FLEX_TARGET_VERSION
This is *usually* ok, but this script is going to sleep for 5 seconds This is *usually* ok, but this script is going to sleep for 5 seconds
to give you the chance to quit before doing anything. to give you the chance to quit before doing anything.
@ -180,6 +185,7 @@ m4: $M4_TARGET_VERSION
Automake: $AM_TARGET_VERSION Automake: $AM_TARGET_VERSION
Autoconf: $AC_TARGET_VERSION Autoconf: $AC_TARGET_VERSION
Libtool: $LT_TARGET_VERSION Libtool: $LT_TARGET_VERSION
Flex: $FLEX_TARGET_VERSION
Either change this script to match the found version, or install Either change this script to match the found version, or install
the correct version of the tools. the correct version of the tools.
@ -221,6 +227,15 @@ make_tarball() {
exit 1 exit 1
fi fi
#
# Remove all generated *_lex.c files so that we ensure to invoke
# flex from here in this script (to ensure that we're using a good
# version of flex, and not picking up random *_lex.c files that
# happened to be in the tree already).
#
echo "*** Removing old generated flex files..."
find . -name \*_lex.c -exec rm -f {} \; -print
# #
# make tarball # make tarball
# #
@ -249,11 +264,14 @@ make_tarball() {
# main # main
######################################################################### #########################################################################
echo "*** Checking GNU tools versions..." echo "*** Checking tools versions..."
check_gnu_version m4 $M4_TARGET_VERSION check_gnu_version m4 $M4_TARGET_VERSION
check_gnu_version automake $AM_TARGET_VERSION check_gnu_version automake $AM_TARGET_VERSION
check_gnu_version autoconf $AC_TARGET_VERSION check_gnu_version autoconf $AC_TARGET_VERSION
check_gnu_version libtool $LT_TARGET_VERSION check_gnu_version libtool $LT_TARGET_VERSION
# Windows needs a recent version of flex; old versions don't generate
# Windows-friendly *_lex.c files.
check_gnu_version flex $FLEX_TARGET_VERSION
# #
# Verify that we're in a top Open MPI dir # Verify that we're in a top Open MPI dir