summaryrefslogtreecommitdiffstats
path: root/autogen.sh
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2015-11-13 11:24:43 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2015-11-13 11:24:43 (GMT)
commitf7b73969f32fdf7a671b0e2b98685a770f3a6030 (patch)
tree0dc6f5ba472bbd3a19b7140c921e93933ae86758 /autogen.sh
parent7426415d9536290cca8847e85a7101a3aa11905c (diff)
downloadhdf5-f7b73969f32fdf7a671b0e2b98685a770f3a6030.zip
hdf5-f7b73969f32fdf7a671b0e2b98685a770f3a6030.tar.gz
hdf5-f7b73969f32fdf7a671b0e2b98685a770f3a6030.tar.bz2
[svn-r28332] Updated autogen.sh to not run flex/bison.
This was giving a lot of users headaches and the parser code rarely changes. There is now a new script (bin/genparser) which can be run as needed. Tested on: Ubuntu 15.10 (x86_64 Linux 4.2.0) gcc 5.2.1, flex 2.5.39, bison 3.0.2
Diffstat (limited to 'autogen.sh')
-rwxr-xr-xautogen.sh114
1 files changed, 3 insertions, 111 deletions
diff --git a/autogen.sh b/autogen.sh
index 63be95a..3c0ad7b 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -19,22 +19,18 @@
# IMPORTANT OS X NOTE
#
# If you are using OS X, you will probably not have the autotools
-# installed, even if you have the Xcode command-line tools. The
-# bison version you have installed may also have a bug that makes
-# it unable to process our input files.
+# installed, even if you have the Xcode command-line tools.
#
# The easiest way to fix this is to install everything via Homebrew:
#
# http://brew.sh/
#
# After you install the base packages, install autoconf, automake,
-# libtool, and flex/bison.
+# and libtool.
#
# brew install autoconf
# brew install automake
# brew install libtool
-# brew install flex
-# brew install bison
#
# This only takes a few minutes. Note that libtool and libtoolize will
# be glibtool and glibtoolize so as not to conflict with Apple's non-gnu
@@ -52,8 +48,6 @@
# HDF5_AUTOCONF
# HDF5_LIBTOOL
# HDF5_M4
-# HDF5_FLEX
-# HDF5_BISON
#
# Note that aclocal will attempt to include libtool's share/aclocal
# directory.
@@ -149,12 +143,6 @@ if [ "$production" = true ] ; then
if test -z ${HDF5_M4}; then
HDF5_M4=/usr/hdf/bin/AUTOTOOLS/m4
fi
- if test -z ${HDF5_BISON}; then
- HDF5_BISON=/usr/hdf/bin/AUTOTOOLS/bison
- fi
- if test -z ${HDF5_FLEX}; then
- HDF5_FLEX=/usr/hdf/bin/AUTOTOOLS/flex
- fi
else
@@ -189,12 +177,6 @@ else
if test -z ${HDF5_M4}; then
HDF5_M4=$(which m4)
fi
- if test -z ${HDF5_BISON}; then
- HDF5_BISON=$(which bison)
- fi
- if test -z ${HDF5_FLEX}; then
- HDF5_FLEX=$(which flex)
- fi
fi # production
@@ -203,9 +185,7 @@ fi # production
AUTOCONF_DIR=`dirname ${HDF5_AUTOCONF}`
LIBTOOL_DIR=`dirname ${HDF5_LIBTOOL}`
M4_DIR=`dirname ${HDF5_M4}`
-BISON_DIR=`dirname ${HDF5_BISON}`
-FLEX_DIR=`dirname ${HDF5_FLEX}`
-PATH=${AUTOCONF_DIR}:${LIBTOOL_DIR}:${M4_DIR}:${FLEX_DIR}:${BISON_DIR}:$PATH
+PATH=${AUTOCONF_DIR}:${LIBTOOL_DIR}:${M4_DIR}:$PATH
# Make libtoolize match the specified libtool
case "`uname`" in
@@ -315,94 +295,6 @@ echo
echo "Running overflow macro generation script:"
bin/make_overflow src/H5overflow.txt || exit 1
-# Run flex and bison
-# automatically generates hl/src/H5LTanalyze.c and hl/src/H5LTparse.c
-# Note that, as of Xcode 6.1 (2015), the default bison version on OS X
-# is old enough to have the circular dependency bug. You'll have
-# to install a later version of bison. See the OS X note at the top
-# of this script.
-echo
-echo "Generating H5LT parser code (requires yacc/bison):"
-echo "Generate hl/src/H5LTparse.c from hl/src/H5LTparse.y"
-# HDF5_BISON is set via the environment or 'which bison', above
-if test -z ${HDF5_BISON}; then
- echo
- echo "*************************"
- echo " ERROR - bison not found"
- echo "*************************"
- echo "bison is required to generate parser code in H5LT"
- echo
- exit 127
-fi
-cd hl/src
-if [ "$verbose" = true ] ; then
- ${HDF5_BISON} --version
-fi
-${HDF5_BISON} -pH5LTyy -o H5LTparse.c -d H5LTparse.y
-
-echo
-echo "Generating H5LT lexer code (requires lex/flex):"
-echo "Generate hl/src/H5LTanalyze.c from hl/src/H5LTanalyze.l"
-# HDF5_FLEX is set via the environment or 'which flex', above
-if test -z ${HDF5_FLEX}; then
- echo
- echo "************************"
- echo " ERROR - flex not found"
- echo "************************"
- echo "flex is required to generate lexer code in H5LT"
- echo
- exit 127
-fi
-if [ "$verbose" = true ] ; then
- ${HDF5_FLEX} --version
-fi
-${HDF5_FLEX} --nounistd -PH5LTyy -o H5LTanalyze.c H5LTanalyze.l
-
-# fix H5LTparse.c to declare H5LTyyparse return type as an hid_t
-# instead of int. Currently the generated function H5LTyyparse is
-# generated with a return value of type int, which is a mapping to the
-# flex yyparse function. The return value in the HL library should be
-# an hid_t.
-# I propose to not use flex to generate this function, but for now I am
-# adding a perl command to find and replace this function declaration in
-# H5LTparse.c.
-perl -0777 -pi -e 's/int yyparse/hid_t yyparse/igs' H5LTparse.c
-perl -0777 -pi -e 's/int\nyyparse/hid_t\nyyparse/igs' H5LTparse.c
-perl -0777 -pi -e 's/int H5LTyyparse/hid_t H5LTyyparse/igs' H5LTparse.c
-
-# Add code that disables warnings in the flex/bison-generated code.
-#
-# Note that the GCC pragmas did not exist until gcc 4.2. Earlier versions
-# will simply ignore them, but we want to avoid those warnings.
-for f in H5LTparse.c H5LTanalyze.c
-do
- echo '#if __GNUC__ >= 4 && __GNUC_MINOR__ >=2 ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wconversion" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wimplicit-function-declaration" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wlarger-than=" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wmissing-prototypes" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wnested-externs" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wold-style-definition" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wsign-compare" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wsign-conversion" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wstrict-prototypes" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wswitch-default" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wunused-function" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wunused-macros" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wunused-parameter" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wredundant-decls" ' >> tmp.out
- echo '#elif defined __SUNPRO_CC ' >> tmp.out
- echo '#pragma disable_warn ' >> tmp.out
- echo '#elif defined _MSC_VER ' >> tmp.out
- echo '#pragma warning(push, 1) ' >> tmp.out
- echo '#endif ' >> tmp.out
-
- cat $f >> tmp.out
- mv tmp.out $f
-done
-
-cd ../..
-
echo
exit 0