mirror of https://github.com/MidnightCommander/mc
Merge branch '4266_ac_init'
* 4266_ac_init: doc/NEWS: update. version.sh: output short mc git version to prevent full rebuild. Ticket #4266: fix AC_INIT call for automake >= 1.16.4.
This commit is contained in:
commit
eab84392ef
12
configure.ac
12
configure.ac
|
@ -5,18 +5,6 @@ dnl
|
||||||
dnl 2.64 is required at least for m4_esyscmd_s()
|
dnl 2.64 is required at least for m4_esyscmd_s()
|
||||||
AC_PREREQ(2.64)
|
AC_PREREQ(2.64)
|
||||||
|
|
||||||
dnl AC_INIT defines PACKAGE_VERSION and PACKAGE_STRING macros in config.h
|
|
||||||
dnl and puts a version into them.
|
|
||||||
dnl Since a) version is changed after `git commit` (and config.h is recreated
|
|
||||||
dnl as a result) and b) config.h is included in each .c file, the total
|
|
||||||
dnl recompilation is performed after commit instead of recompilation
|
|
||||||
dnl of modified files only.
|
|
||||||
dnl
|
|
||||||
dnl If AC_PACKAGE_VERSION and AC_PACKAGE_STRING macros are predefined before
|
|
||||||
dnl AC_INIT call, AC_INIT doesn't redefine them.
|
|
||||||
dnl As a result, config.h will not contain macros with variable version.
|
|
||||||
m4_define([AC_PACKAGE_VERSION], [])
|
|
||||||
m4_define([AC_PACKAGE_STRING], [])
|
|
||||||
AC_INIT([GNU Midnight Commander], m4_esyscmd_s([./version.sh .]),
|
AC_INIT([GNU Midnight Commander], m4_esyscmd_s([./version.sh .]),
|
||||||
[https://www.midnight-commander.org/wiki/NewTicket], [mc],
|
[https://www.midnight-commander.org/wiki/NewTicket], [mc],
|
||||||
[https://www.midnight-commander.org/])
|
[https://www.midnight-commander.org/])
|
||||||
|
|
2
doc/NEWS
2
doc/NEWS
|
@ -7,7 +7,7 @@ Version 4.8.27
|
||||||
* Minimal version of Gettext is 0.18.2 (#3603)
|
* Minimal version of Gettext is 0.18.2 (#3603)
|
||||||
* Minimal version of libssh2 is 1.2.8 (#4259)
|
* Minimal version of libssh2 is 1.2.8 (#4259)
|
||||||
* Reimplement version detection (#3603, #4249)
|
* Reimplement version detection (#3603, #4249)
|
||||||
* Significantly reduce rebuilt time after version change (#2252)
|
* Significantly reduce rebuilt time after version change (#2252, #4266)
|
||||||
* Drop automatic migration of configuration from ~/.mc to XDG-based directories (#3682)
|
* Drop automatic migration of configuration from ~/.mc to XDG-based directories (#3682)
|
||||||
* zsh: support custom configuration file: ~/.local/share/mc/.zshrc (#4203)
|
* zsh: support custom configuration file: ~/.local/share/mc/.zshrc (#4203)
|
||||||
* Widgets: implement WST_VISIBLE state to show/hide widgets (#2919)
|
* Widgets: implement WST_VISIBLE state to show/hide widgets (#2919)
|
||||||
|
|
10
version.sh
10
version.sh
|
@ -42,7 +42,7 @@ mc_print_version(){
|
||||||
#endif
|
#endif
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
echo "${CURR_MC_VERSION}"
|
echo "${SHOR_MC_VERSION}"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,11 +59,13 @@ src_top_dir="$1"
|
||||||
VERSION_FILE="${src_top_dir}/mc-version.h"
|
VERSION_FILE="${src_top_dir}/mc-version.h"
|
||||||
PREV_MC_VERSION="unknown"
|
PREV_MC_VERSION="unknown"
|
||||||
CURR_MC_VERSION="${PREV_MC_VERSION}"
|
CURR_MC_VERSION="${PREV_MC_VERSION}"
|
||||||
|
SHOR_MC_VERSION="${PREV_MC_VERSION}"
|
||||||
|
|
||||||
if [ -r "${VERSION_FILE}" ]
|
if [ -r "${VERSION_FILE}" ]
|
||||||
then
|
then
|
||||||
PREV_MC_VERSION=`sed -n 's/^#define MC_CURRENT_VERSION "\(.*\)"$/\1/p' "${VERSION_FILE}"`
|
PREV_MC_VERSION=`sed -n 's/^#define MC_CURRENT_VERSION "\(.*\)"$/\1/p' "${VERSION_FILE}"`
|
||||||
CURR_MC_VERSION="${PREV_MC_VERSION}"
|
CURR_MC_VERSION="${PREV_MC_VERSION}"
|
||||||
|
SHOR_MC_VERSION="${PREV_MC_VERSION}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git_head=`git --git-dir "${src_top_dir}/.git" rev-parse --verify HEAD 2>/dev/null`
|
git_head=`git --git-dir "${src_top_dir}/.git" rev-parse --verify HEAD 2>/dev/null`
|
||||||
|
@ -71,10 +73,16 @@ git_head=`git --git-dir "${src_top_dir}/.git" rev-parse --verify HEAD 2>/dev/nul
|
||||||
|
|
||||||
# try to store sha1
|
# try to store sha1
|
||||||
CURR_MC_VERSION="${git_head}"
|
CURR_MC_VERSION="${git_head}"
|
||||||
|
SHOR_MC_VERSION="${CURR_MC_VERSION}"
|
||||||
|
|
||||||
new_version=`git --git-dir "${src_top_dir}/.git" describe --always 2>/dev/null`
|
new_version=`git --git-dir "${src_top_dir}/.git" describe --always 2>/dev/null`
|
||||||
[ -z "${new_version}" ] && mc_print_version
|
[ -z "${new_version}" ] && mc_print_version
|
||||||
|
|
||||||
# store pretty tagged version
|
# store pretty tagged version
|
||||||
CURR_MC_VERSION="${new_version}"
|
CURR_MC_VERSION="${new_version}"
|
||||||
|
SHOR_MC_VERSION="${CURR_MC_VERSION}"
|
||||||
|
|
||||||
|
# stop full rebuild by using not-exact git version string in config.h, see #2252, #4266
|
||||||
|
SHOR_MC_VERSION=`git --git-dir "${src_top_dir}/.git" describe --always --abbrev=0 2>/dev/null`-git
|
||||||
|
|
||||||
mc_print_version
|
mc_print_version
|
||||||
|
|
Loading…
Reference in New Issue