summaryrefslogtreecommitdiffstats
path: root/bin/genltanalyze
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2014-06-16 20:12:42 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2014-06-16 20:12:42 (GMT)
commit890a76ea64b55724cf8354dcfd1e5566c5ba6c31 (patch)
treefdefd2d0a78b172d49563df767b4e589688ff337 /bin/genltanalyze
parent8c56c5096e797222e0fd7e177d7be4973d51bed3 (diff)
downloadhdf5-890a76ea64b55724cf8354dcfd1e5566c5ba6c31.zip
hdf5-890a76ea64b55724cf8354dcfd1e5566c5ba6c31.tar.gz
hdf5-890a76ea64b55724cf8354dcfd1e5566c5ba6c31.tar.bz2
[svn-r25300] Add flex / bison commands to bin script and regenerate hl files using latest versions.
No other files touched. Tested: h5committest
Diffstat (limited to 'bin/genltanalyze')
-rwxr-xr-xbin/genltanalyze54
1 files changed, 54 insertions, 0 deletions
diff --git a/bin/genltanalyze b/bin/genltanalyze
new file mode 100755
index 0000000..b65b3e7
--- /dev/null
+++ b/bin/genltanalyze
@@ -0,0 +1,54 @@
+#!/bin/sh
+##
+## Copyright by the Board of Trustees of the University of Illinois.
+## All rights reserved.
+##
+## This file is part of HDF5. The full HDF5 copyright notice, including
+## terms governing use, modification, and redistribution, is contained in
+## the files COPYING and Copyright.html. COPYING can be found at the root
+## of the source code distribution tree; Copyright.html can be found at the
+## root level of an installed copy of the electronic HDF5 document set and
+## is linked from the top-level documents page. It can also be found at
+## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have
+## access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.
+##
+# regenerate hl/src/H5LTanalyze.c
+
+# HDF5 currently uses the following versions of the bison flex:
+BISON_VERSION="bison (GNU Bison) 2.7"
+FLEX_VERSION="flex 2.5.37"
+
+# If paths to bison flex are not specified by the user, assume tools are
+# running on jam in /mnt/hdf/packages and set paths accordingly.
+if test -z ${BISON}; then
+ BISON=/usr/hdf/bin/bison
+fi
+if test -z ${FLEX}; then
+ FLEX=/usr/hdf/bin/flex
+fi
+
+# Check version numbers of all bison flex against the "correct" versions
+BI_VERS=`${BISON} --version 2>&1 | grep "^${BISON_VERSION}"`
+if test -z "${BI_VERS}"; then
+ echo "${BISON} version is not ${BISON_VERSION}"
+ exit 1
+fi
+FL_VERS=`${FLEX} --version 2>&1 | grep "^${FLEX_VERSION}"`
+if test -z "${FL_VERS}"; then
+ echo "${FLEX} version is not ${FLEX_VERSION}"
+ exit 1
+fi
+
+# Make sure that the tools are in the path.
+BISON_DIR=`dirname ${BISON}`
+FLEX_DIR=`dirname ${FLEX}`
+
+# Main body
+cd hl/src
+echo "Generate hl/src/H5LTparse.c from hl/src/H5LTparse.y"
+bison -pH5LTyy -o H5LTparse.c -d H5LTparse.y
+echo "Generate hl/src/H5LTanalyze.c from hl/src/H5LTanalyze.l"
+flex -PH5LTyy -oH5LTanalyze.c H5LTanalyze.l
+cd ../..
+
+exit 0