Add --with-version.
Also avoid deleting the VERSION file while trying to (re)generate it. This resolves #305.
This commit is contained in:
parent
824b947be0
commit
434ea64b26
4
INSTALL
4
INSTALL
@ -35,6 +35,10 @@ any of the following arguments (not a definitive list) to 'configure':
|
|||||||
will cause files to be installed into /usr/local/include, /usr/local/lib,
|
will cause files to be installed into /usr/local/include, /usr/local/lib,
|
||||||
and /usr/local/man.
|
and /usr/local/man.
|
||||||
|
|
||||||
|
--with-version=<major>.<minor>.<bugfix>-<nrev>-g<gid>
|
||||||
|
Use the specified version string rather than trying to generate one (if in
|
||||||
|
a git repository) or use existing the VERSION file (if present).
|
||||||
|
|
||||||
--with-rpath=<colon-separated-rpath>
|
--with-rpath=<colon-separated-rpath>
|
||||||
Embed one or more library paths, so that libjemalloc can find the libraries
|
Embed one or more library paths, so that libjemalloc can find the libraries
|
||||||
it is linked to. This works only on ELF-based systems.
|
it is linked to. This works only on ELF-based systems.
|
||||||
|
49
configure.ac
49
configure.ac
@ -1172,27 +1172,36 @@ dnl ============================================================================
|
|||||||
dnl jemalloc configuration.
|
dnl jemalloc configuration.
|
||||||
dnl
|
dnl
|
||||||
|
|
||||||
dnl Set VERSION if source directory is inside a git repository.
|
AC_ARG_WITH([version],
|
||||||
if test "x`test ! \"${srcroot}\" && cd \"${srcroot}\"; git rev-parse --is-inside-work-tree 2>/dev/null`" = "xtrue" ; then
|
[AS_HELP_STRING([--with-version=<major>.<minor>.<bugfix>-<nrev>-g<gid>],
|
||||||
dnl Pattern globs aren't powerful enough to match both single- and
|
[Version string])],
|
||||||
dnl double-digit version numbers, so iterate over patterns to support up to
|
[
|
||||||
dnl version 99.99.99 without any accidental matches.
|
echo "${with_version}" | grep ['^[0-9]\+\.[0-9]\+\.[0-9]\+-[0-9]\+-g[0-9a-f]\+$'] 2>&1 1>/dev/null
|
||||||
rm -f "${objroot}VERSION"
|
if test $? -ne 0 ; then
|
||||||
for pattern in ['[0-9].[0-9].[0-9]' '[0-9].[0-9].[0-9][0-9]' \
|
AC_MSG_ERROR([${with_version} does not match <major>.<minor>.<bugfix>-<nrev>-g<gid>])
|
||||||
'[0-9].[0-9][0-9].[0-9]' '[0-9].[0-9][0-9].[0-9][0-9]' \
|
|
||||||
'[0-9][0-9].[0-9].[0-9]' '[0-9][0-9].[0-9].[0-9][0-9]' \
|
|
||||||
'[0-9][0-9].[0-9][0-9].[0-9]' \
|
|
||||||
'[0-9][0-9].[0-9][0-9].[0-9][0-9]']; do
|
|
||||||
if test ! -e "${objroot}VERSION" ; then
|
|
||||||
(test ! "${srcroot}" && cd "${srcroot}"; git describe --long --abbrev=40 --match="${pattern}") > "${objroot}VERSION.tmp" 2>/dev/null
|
|
||||||
if test $? -eq 0 ; then
|
|
||||||
mv "${objroot}VERSION.tmp" "${objroot}VERSION"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
done
|
echo "$with_version" > "${objroot}VERSION"
|
||||||
fi
|
], [
|
||||||
rm -f "${objroot}VERSION.tmp"
|
dnl Set VERSION if source directory is inside a git repository.
|
||||||
|
if test "x`test ! \"${srcroot}\" && cd \"${srcroot}\"; git rev-parse --is-inside-work-tree 2>/dev/null`" = "xtrue" ; then
|
||||||
|
dnl Pattern globs aren't powerful enough to match both single- and
|
||||||
|
dnl double-digit version numbers, so iterate over patterns to support up
|
||||||
|
dnl to version 99.99.99 without any accidental matches.
|
||||||
|
for pattern in ['[0-9].[0-9].[0-9]' '[0-9].[0-9].[0-9][0-9]' \
|
||||||
|
'[0-9].[0-9][0-9].[0-9]' '[0-9].[0-9][0-9].[0-9][0-9]' \
|
||||||
|
'[0-9][0-9].[0-9].[0-9]' '[0-9][0-9].[0-9].[0-9][0-9]' \
|
||||||
|
'[0-9][0-9].[0-9][0-9].[0-9]' \
|
||||||
|
'[0-9][0-9].[0-9][0-9].[0-9][0-9]']; do
|
||||||
|
(test ! "${srcroot}" && cd "${srcroot}"; git describe --long --abbrev=40 --match="${pattern}") > "${objroot}VERSION.tmp" 2>/dev/null
|
||||||
|
if test $? -eq 0 ; then
|
||||||
|
mv "${objroot}VERSION.tmp" "${objroot}VERSION"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
rm -f "${objroot}VERSION.tmp"
|
||||||
|
])
|
||||||
|
|
||||||
if test ! -e "${objroot}VERSION" ; then
|
if test ! -e "${objroot}VERSION" ; then
|
||||||
if test ! -e "${srcroot}VERSION" ; then
|
if test ! -e "${srcroot}VERSION" ; then
|
||||||
AC_MSG_RESULT(
|
AC_MSG_RESULT(
|
||||||
|
Loading…
Reference in New Issue
Block a user