Make these scripts relocatable again: derive a relative path for the

original installation prefix from the examples prefix.  Use that
relative path to locate the current installation prefix, always.  Fall
back to an absolute installation prefix if the relative path cannot be
derived.
This commit is contained in:
David Young 2019-11-05 15:13:47 -06:00
parent 1b01b6d60b
commit 0b721858e4
4 changed files with 97 additions and 4 deletions

View File

@ -30,9 +30,32 @@
EXIT_SUCCESS=0
EXIT_FAILURE=1
#
# Try to derive the path to the installation $prefix established
# by ./configure relative to the examples directory established by
# ./configure. If successful, set `prefix_relto_examplesdir` to the
# relative path. Otherwise, set `prefix_relto_examplesdir` to the
# absolute installation $prefix.
#
# This script uses the value of `prefix` in the user's environment, if
# it is set, below. The content of $() is evaluated in a sub-shell, so
# if `prefix` is set in the user's environment, the shell statements in
# $() won't clobbered it.
#
prefix_relto_examplesdir=$(
prefix=@prefix@
examplesdir=@examplesdir@
if [ ${examplesdir##${prefix}/} != ${examplesdir} ]; then
echo $(echo ${examplesdir##${prefix}/} | \
sed -E 's,[^/]+,..,g')
else
echo $prefix
fi
)
# Where the tool is installed.
# default is relative path to installed location of the tools
prefix="${prefix:-@prefix@}"
prefix="${prefix:-../${prefix_relto_examplesdir}}"
AR="@AR@"
RANLIB="@RANLIB@"
H5TOOL="h5c++" # The tool name

View File

@ -30,9 +30,32 @@
EXIT_SUCCESS=0
EXIT_FAILURE=1
#
# Try to derive the path to the installation $prefix established
# by ./configure relative to the examples directory established by
# ./configure. If successful, set `prefix_relto_examplesdir` to the
# relative path. Otherwise, set `prefix_relto_examplesdir` to the
# absolute installation $prefix.
#
# This script uses the value of `prefix` in the user's environment, if
# it is set, below. The content of $() is evaluated in a sub-shell, so
# if `prefix` is set in the user's environment, the shell statements in
# $() won't clobbered it.
#
prefix_relto_examplesdir=$(
prefix=@prefix@
examplesdir=@examplesdir@
if [ ${examplesdir##${prefix}/} != ${examplesdir} ]; then
echo $(echo ${examplesdir##${prefix}/} | \
sed -E 's,[^/]+,..,g')
else
echo $prefix
fi
)
# Where the tool is installed.
# default is relative path to installed location of the tools
prefix="${prefix:-@prefix@}"
prefix="${prefix:-../${prefix_relto_examplesdir}}"
PARALLEL=@PARALLEL@ # Am I in parallel mode?
AR="@AR@"
RANLIB="@RANLIB@"

View File

@ -29,9 +29,33 @@
# Initializations
EXIT_SUCCESS=0
EXIT_FAILURE=1
#
# Try to derive the path to the installation $prefix established
# by ./configure relative to the examples directory established by
# ./configure. If successful, set `prefix_relto_examplesdir` to the
# relative path. Otherwise, set `prefix_relto_examplesdir` to the
# absolute installation $prefix.
#
# This script uses the value of `prefix` in the user's environment, if
# it is set, below. The content of $() is evaluated in a sub-shell, so
# if `prefix` is set in the user's environment, the shell statements in
# $() won't clobbered it.
#
prefix_relto_examplesdir=$(
prefix=@prefix@
examplesdir=@examplesdir@
if [ ${examplesdir##${prefix}/} != ${examplesdir} ]; then
echo $(echo ${examplesdir##${prefix}/} | \
sed -E 's,[^/]+,..,g')
else
echo $prefix
fi
)
# Where the tool is installed.
# default is relative path to installed location of the tools
prefix="${prefix:-@prefix@}"
prefix="${prefix:-../../${prefix_relto_examplesdir}}"
AR="@AR@"
RANLIB="@RANLIB@"
H5TOOL="h5c++" # The tool name

View File

@ -29,9 +29,32 @@
EXIT_SUCCESS=0
EXIT_FAILURE=1
#
# Try to derive the path to the installation $prefix established
# by ./configure relative to the examples directory established by
# ./configure. If successful, set `prefix_relto_examplesdir` to the
# relative path. Otherwise, set `prefix_relto_examplesdir` to the
# absolute installation $prefix.
#
# This script uses the value of `prefix` in the user's environment, if
# it is set, below. The content of $() is evaluated in a sub-shell, so
# if `prefix` is set in the user's environment, the shell statements in
# $() won't clobbered it.
#
prefix_relto_examplesdir=$(
prefix=@prefix@
examplesdir=@examplesdir@
if [ ${examplesdir##${prefix}/} != ${examplesdir} ]; then
echo $(echo ${examplesdir##${prefix}/} | \
sed -E 's,[^/]+,..,g')
else
echo $prefix
fi
)
# Where the tool is installed.
# default is relative path to installed location of the tools
prefix="${prefix:-@prefix@}"
prefix="${prefix:-../../${prefix_relto_examplesdir}}"
PARALLEL=@PARALLEL@ # Am I in parallel mode?
AR="@AR@"
RANLIB="@RANLIB@"