Merge branch 'develop' into vol_dev_headers
This commit is contained in:
@@ -85,8 +85,8 @@ else
|
||||
TOOLS_DIR=
|
||||
endif
|
||||
|
||||
SUBDIRS = src $(TESTSERIAL_DIR) $(TESTPARALLEL_DIR) $(TOOLS_DIR) . $(CXX_DIR) \
|
||||
$(FORTRAN_DIR) $(JAVA_DIR) $(HDF5_HL_DIR)
|
||||
SUBDIRS = src $(TESTSERIAL_DIR) $(TESTPARALLEL_DIR) bin $(TOOLS_DIR) . \
|
||||
$(CXX_DIR) $(FORTRAN_DIR) $(JAVA_DIR) $(HDF5_HL_DIR)
|
||||
DIST_SUBDIRS = src test testpar tools . c++ fortran hl examples java
|
||||
|
||||
# Some files generated during configure that should be cleaned
|
||||
|
||||
57
bin/Makefile.am
Normal file
57
bin/Makefile.am
Normal file
@@ -0,0 +1,57 @@
|
||||
#
|
||||
# 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 COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
##
|
||||
## Makefile.am
|
||||
## Run automake to generate a Makefile.in from this file.
|
||||
#
|
||||
# HDF5 Library Makefile(.in)
|
||||
#
|
||||
|
||||
include $(top_srcdir)/config/commence.am
|
||||
|
||||
# Include src directory
|
||||
AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
|
||||
# These are our main targets
|
||||
bin_SCRIPTS=h5redeploy
|
||||
|
||||
# Tell automake to clean h5redeploy script
|
||||
CLEANFILES=h5redeploy
|
||||
|
||||
# These were generated by configure. Remove them only when distclean.
|
||||
DISTCLEANFILES=h5cc
|
||||
|
||||
# All programs rely on hdf5 library and h5tools library
|
||||
LDADD=$(LIBH5TOOLS) $(LIBHDF5)
|
||||
|
||||
# How to build h5redeploy script
|
||||
h5redeploy: h5redeploy.in
|
||||
@cp $(srcdir)/$@.in $@
|
||||
|
||||
# h5cc needs custom install and uninstall rules, since it may be
|
||||
# named h5pcc if hdf5 is being built in parallel mode.
|
||||
if BUILD_PARALLEL_CONDITIONAL
|
||||
H5CC_NAME=h5pcc
|
||||
else
|
||||
H5CC_NAME=h5cc
|
||||
endif
|
||||
|
||||
$(DESTDIR)$(bindir):
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1;
|
||||
|
||||
install-exec-local: $(DESTDIR)$(bindir)
|
||||
@$(INSTALL) h5cc $(DESTDIR)$(bindir)/$(H5CC_NAME)
|
||||
uninstall-local:
|
||||
@$(RM) $(DESTDIR)$(bindir)/$(H5CC_NAME)
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
216
bin/h5redeploy.in
Normal file
216
bin/h5redeploy.in
Normal file
@@ -0,0 +1,216 @@
|
||||
#! /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 COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
|
||||
## Update HDF5 compiler tools after the HDF5 software has been installed ##
|
||||
## in a new location. ##
|
||||
## For help page, use "h5redeploy -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 " -exec-prefix=DIR New directory to find HDF5 lib/"
|
||||
echo " subdirectory [default: <prefix>]"
|
||||
echo " -libdir=DIR New directory for the HDF5 lib directory"
|
||||
echo " [default: <exec-prefix>/lib]"
|
||||
echo " -includedir=DIR New directory for the HDF5 header files"
|
||||
echo " [default: <prefix>/include]"
|
||||
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
|
||||
#
|
||||
############################################################################
|
||||
## Installation directories: ##
|
||||
## prefix architecture-independent files. ##
|
||||
## exec_prefix architecture-dependent files, default is <prefix>. ##
|
||||
## libdir libraries, default is <exec_prefix>/lib. ##
|
||||
## includedir header files, default is <prefix/include>. ##
|
||||
## Not used here: ##
|
||||
## bindir executables, <exec_prefix/bin>. ##
|
||||
############################################################################
|
||||
# Initialization
|
||||
h5tools="h5cc h5pcc h5fc h5pfc h5c++" # possible hdf5 tools
|
||||
foundtools= # tools found and will be modified
|
||||
fmode= # force mode, default is off
|
||||
prefix=
|
||||
exec_prefix=
|
||||
libdir=
|
||||
includedir=
|
||||
|
||||
# Parse options
|
||||
for arg in $@ ; do
|
||||
case "$arg" in
|
||||
-prefix=*)
|
||||
prefix="`echo $arg | cut -f2 -d=`"
|
||||
;;
|
||||
-exec-prefix=*)
|
||||
exec_prefix="`echo $arg | cut -f2 -d=`"
|
||||
;;
|
||||
-libdir=*)
|
||||
libdir="`echo $arg | cut -f2 -d=`"
|
||||
;;
|
||||
-includedir=*)
|
||||
includedir="`echo $arg | cut -f2 -d=`"
|
||||
;;
|
||||
-echo)
|
||||
set -x
|
||||
;;
|
||||
-show)
|
||||
SHOW="echo"
|
||||
;;
|
||||
-tool=*)
|
||||
h5tools="`echo $arg | cut -f2 -d=`"
|
||||
;;
|
||||
-help|help)
|
||||
usage
|
||||
;;
|
||||
-force)
|
||||
fmode=yes
|
||||
;;
|
||||
*)
|
||||
ERROR "Unknown Option($arg)"
|
||||
usage
|
||||
exit $EXIT_FAILURE
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Set to default value, one above where i am, if not given by user
|
||||
if [ -z "$prefix" ]; then
|
||||
prefix=`(cd ..;pwd)`
|
||||
fi
|
||||
if [ -z "$exec_prefix" ]; then
|
||||
exec_prefix='${prefix}' # use single quotes to prevent expansion of $
|
||||
fi
|
||||
if [ -z "$libdir" ]; then
|
||||
libdir='${exec_prefix}'/lib # use single quotes to prevent expansion of $
|
||||
fi
|
||||
if [ -z "$includedir" ]; then
|
||||
includedir='${prefix}'/include # use single quotes to prevent expansion of $
|
||||
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
|
||||
# Ask confirmation unless fmode is on
|
||||
if [ x-$fmode = x- ]; then
|
||||
echo "Continue? (yes/no)"
|
||||
read ansx
|
||||
ans=`echo $ansx | tr "[A-Z]" "[a-z]"`
|
||||
if [ x-$ans != x-yes ]; then
|
||||
echo ABORT. No tools changed.
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Create the update commands
|
||||
CMDFILE=/tmp/h5redeploy.$$
|
||||
touch $CMDFILE
|
||||
chmod 0600 $CMDFILE
|
||||
echo "/^prefix=/c" >> $CMDFILE
|
||||
echo prefix=\""$prefix"\" >> $CMDFILE
|
||||
echo . >> $CMDFILE
|
||||
echo "/^exec_prefix=/c" >> $CMDFILE
|
||||
echo exec_prefix=\""$exec_prefix"\" >> $CMDFILE
|
||||
echo . >> $CMDFILE
|
||||
echo "/^libdir=/c" >> $CMDFILE
|
||||
echo libdir=\""$libdir"\" >> $CMDFILE
|
||||
echo . >> $CMDFILE
|
||||
echo "/^includedir=/c" >> $CMDFILE
|
||||
echo includedir=\""$includedir"\" >> $CMDFILE
|
||||
echo . >> $CMDFILE
|
||||
(echo w; echo q) >> $CMDFILE
|
||||
|
||||
|
||||
# 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
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
# Cleanup
|
||||
rm -f $CMDFILE
|
||||
exit $EXIT_SUCCESS
|
||||
@@ -3518,7 +3518,6 @@ AM_CONDITIONAL([HAVE_SHARED_CONDITIONAL], [test "X$enable_shared" = "Xyes"])
|
||||
AC_CONFIG_FILES([src/libhdf5.settings
|
||||
Makefile
|
||||
src/Makefile
|
||||
src/h5cc
|
||||
test/Makefile
|
||||
test/H5srcdir_str.h
|
||||
test/testabort_fail.sh
|
||||
@@ -3586,6 +3585,8 @@ AC_CONFIG_FILES([src/libhdf5.settings
|
||||
examples/Makefile
|
||||
examples/run-c-ex.sh
|
||||
examples/testh5cc.sh
|
||||
bin/h5cc
|
||||
bin/Makefile
|
||||
c++/Makefile
|
||||
c++/src/Makefile
|
||||
c++/src/h5c++
|
||||
|
||||
@@ -32,18 +32,10 @@ lib_LTLIBRARIES=libhdf5.la
|
||||
# Add libtool numbers to the HDF5 library (from config/lt_vers.am)
|
||||
libhdf5_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
|
||||
|
||||
# h5cc needs custom install and uninstall rules, since it may be
|
||||
# named h5pcc if hdf5 is being built in parallel mode.
|
||||
if BUILD_PARALLEL_CONDITIONAL
|
||||
H5CC_NAME=h5pcc
|
||||
else
|
||||
H5CC_NAME=h5cc
|
||||
endif
|
||||
|
||||
# H5Tinit.c and H5lib_settings.c are generated files and should be cleaned.
|
||||
MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.c
|
||||
# H5pubconf.h is generated by configure, and should be cleaned.
|
||||
DISTCLEANFILES=H5pubconf.h $(H5CC_NAME)
|
||||
DISTCLEANFILES=H5pubconf.h
|
||||
|
||||
# library sources
|
||||
libhdf5_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \
|
||||
@@ -160,8 +152,6 @@ include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h H5vers
|
||||
settingsdir=$(libdir)
|
||||
settings_DATA=libhdf5.settings
|
||||
|
||||
bin_SCRIPTS=$(H5CC_NAME)
|
||||
|
||||
# Number format detection
|
||||
# The LD_LIBRARY_PATH setting is a kludge.
|
||||
# Things should have been all set during H5detect making.
|
||||
@@ -220,10 +210,5 @@ trace: $(libhdf5_la_SOURCES)
|
||||
fi; \
|
||||
done
|
||||
|
||||
#install-exec-local:
|
||||
# @$(INSTALL) h5cc $(DESTDIR)$(bindir)/$(H5CC_NAME)
|
||||
#uninstall-local:
|
||||
# @$(RM) $(DESTDIR)$(bindir)/$(H5CC_NAME)
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
|
||||
# These are our main targets, the tools
|
||||
bin_PROGRAMS=h5debug h5repart h5mkgrp h5clear
|
||||
bin_SCRIPTS=h5redeploy
|
||||
|
||||
# Add h5debug, h5repart, and h5mkgrp specific linker flags here
|
||||
h5debug_LDFLAGS = $(LT_STATIC_EXEC) $(AM_LDFLAGS)
|
||||
@@ -31,17 +30,7 @@ h5repart_LDFLAGS = $(LT_STATIC_EXEC) $(AM_LDFLAGS)
|
||||
h5mkgrp_LDFLAGS = $(LT_STATIC_EXEC) $(AM_LDFLAGS)
|
||||
h5clear_LDFLAGS = $(LT_STATIC_EXEC) $(AM_LDFLAGS)
|
||||
|
||||
# Tell automake to clean h5redeploy script
|
||||
CLEANFILES=h5redeploy
|
||||
|
||||
# These were generated by configure. Remove them only when distclean.
|
||||
DISTCLEANFILES=h5cc
|
||||
|
||||
# All programs rely on hdf5 library and h5tools library
|
||||
LDADD=$(LIBH5TOOLS) $(LIBHDF5)
|
||||
|
||||
# How to build h5redeploy script
|
||||
h5redeploy: h5redeploy.in
|
||||
@cp $(srcdir)/$@.in $@
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
|
||||
Reference in New Issue
Block a user