summaryrefslogtreecommitdiffstats
path: root/bin/pkgscrpts/h5rmflags
diff options
context:
space:
mode:
authorlrknox <lrknox>2016-09-02 16:02:10 (GMT)
committerlrknox <lrknox>2016-09-02 16:02:10 (GMT)
commit96e9dccf3e50e3c6ac0d20b3092d460ee8523103 (patch)
tree40b8ec0770c41e7442f0185d2fdeea9c9ece7900 /bin/pkgscrpts/h5rmflags
parenteb45597647a6f86b8de548afacd850a0e9c9ff43 (diff)
downloadhdf5-96e9dccf3e50e3c6ac0d20b3092d460ee8523103.zip
hdf5-96e9dccf3e50e3c6ac0d20b3092d460ee8523103.tar.gz
hdf5-96e9dccf3e50e3c6ac0d20b3092d460ee8523103.tar.bz2
dd bin/pkgscrpts directory with scripts to package deployed unix binaries
into tarfiles.
Diffstat (limited to 'bin/pkgscrpts/h5rmflags')
-rwxr-xr-xbin/pkgscrpts/h5rmflags167
1 files changed, 167 insertions, 0 deletions
diff --git a/bin/pkgscrpts/h5rmflags b/bin/pkgscrpts/h5rmflags
new file mode 100755
index 0000000..32b8090
--- /dev/null
+++ b/bin/pkgscrpts/h5rmflags
@@ -0,0 +1,167 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# 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://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
+# access to either file, you may request a copy from help@hdfgroup.org.
+#
+
+## Remove paths to libraries used to build HDF5 when packaging HDF5
+## binaries.
+## For help page, use "h5rmflags -help"
+
+# Constants definitions
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+# Function definitions
+
+# show help page
+usage() {
+ # A wonderfully informative "usage" message.
+ echo "usage: $prog_name [OPTIONS]"
+ echo " OPTIONS:"
+ echo " -help|help This help message"
+ echo " -echo Show all the shell commands executed"
+ echo " -force No prompt, just do it"
+ echo " -prefix=DIR New directory to find HDF5 lib/ and include/"
+ echo " subdirectories [default: current directory]"
+ echo " -tool=TOOL Tool to update. TOOL must be in the current"
+ echo " directory and writable. [default: $h5tools]"
+ echo " -show Show the commands without executing them"
+ echo " "
+ exit $EXIT_FAILURE
+}
+
+# display variable values
+dump_vars(){
+ echo "====Showing all variable values====="
+ echo prefix=$prefix
+ echo h5tools=$h5tools
+ echo "====End Showing====="
+}
+
+# show actions to be taken
+show_action()
+{
+ echo "Update the following tools because they are now installed at a new directory"
+ for t in $foundtools; do
+ echo "${t}:"
+ echo " current setting=`sed -e '/^prefix=/s/prefix=//p' -e d $t`"
+ echo " new setting="\""$prefix"\"
+ done
+}
+
+
+# Report Error message
+ERROR()
+{
+ echo "***ERROR***"
+ echo "$1"
+}
+
+# Main
+#
+# Initialization
+h5tools="h5cc h5pcc h5fc h5pfc h5c++" # possible hdf5 tools
+foundtools= # tools found and will be modified
+fmode= # force mode, default is off
+prefix=`(cd ..;pwd)`
+
+# Parse options
+for arg in $@ ; do
+ case "$arg" in
+ -prefix=*)
+ prefix="`expr "$arg" : '-prefix=\(.*\)'`"
+ ;;
+ -echo)
+ set -x
+ ;;
+ -show)
+ SHOW="echo"
+ ;;
+ -tool=*)
+ h5tools="`expr "$arg" : '-tool=\(.*\)'`"
+ ;;
+ -help|help)
+ usage
+ ;;
+ -force)
+ fmode=yes
+ ;;
+ *)
+ ERROR "Unknown Option($arg)"
+ usage
+ exit $EXIT_FAILURE
+ ;;
+ esac
+done
+
+# Sanity checks
+#if [ ! -d $prefix ]; then
+# ERROR "prefix($prefix) is not an existing directory"
+# exit $EXIT_FAILURE
+#fi
+
+for x in $h5tools; do
+ if [ -f $x ]; then
+ foundtools="$foundtools $x"
+ if [ ! -w $x ]; then
+ ERROR "h5tool($x) is not writable"
+ exit $EXIT_FAILURE
+ fi
+ fi
+done
+
+if [ -z "$foundtools" ]; then
+ ERROR "found no tools to modify"
+ exit $EXIT_FAILURE
+fi
+
+# Show actions to be taken and get consent
+show_action
+
+
+# Update them
+if [ "$SHOW" = "echo" ]; then
+ echo "===Update commands are:===="
+# cat $CMDFILE
+ echo "===End Update commands====="
+fi
+
+for t in $foundtools; do
+ echo Update $t ...
+# COMMAND="ed - $t"
+# if [ "$SHOW" = "echo" ]; then
+# echo $COMMAND
+# else
+# $COMMAND < $CMDFILE
+ ed - $t << end
+ g/^H5BLD_CPPFLAGS/s/-I\/.*include //g
+ g/^H5BLD_LDFLAGS/s/-L\/.*lib //g
+ g/^H5BLD_LDFLAGS/s/-L\/.*lib64 //g
+ .
+ w
+end
+# fi
+done
+
+
+# Cleanup
+#rm -f $CMDFILE
+exit $EXIT_SUCCESS
+
+# Some possible future features to add
+# CCBASE - Name of the alternative C compiler
+# CLINKERBASE - Name of the alternative linker
+# LDFLAGS - Path to different libraries your application will link with
+# (this path should include the path to the zlib library)
+# LIBS - Libraries your application will link with