]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
configure: Allow to detect git checkout if .git is not a directory
authorFrank Lichtenheld <frank@lichtenheld.com>
Fri, 6 Sep 2024 17:21:12 +0000 (19:21 +0200)
committerGert Doering <gert@greenie.muc.de>
Fri, 6 Sep 2024 20:07:18 +0000 (22:07 +0200)
E.g. if you use openvpn as a git submodule, it can be a
file that points to the parent's git directory.

The changes to Makefile.am are not strictly required, they
still work with that case, but I wanted to keep the usage
consistent.

Change-Id: I9b7a3df012e7606ddb04a944e3fa33247180e8dd
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Arne Schwabe <arne-openvpn@rfc2549.org>
Acked-by: Yuriy Darnobyt <yura.uddr@gmail.com>
Message-Id: <20240906172112.87148-1-frank@lichtenheld.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg29092.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
Makefile.am
configure.ac

index 87230feade4ea77a66126e17c9f9bd1aa2f918b7..84b7112ad33fa9177e1e9fbf9d43a509eb6e94b5 100644 (file)
@@ -75,9 +75,9 @@ dist_noinst_DATA = \
        README.wolfssl
 
 config-version.h:
-       @CONFIGURE_GIT_CHFILES="`GIT_DIR=\"$(top_srcdir)/.git\" $(GIT) diff-files --name-status -r --ignore-submodules --quiet -- || echo \"+\"`"; \
-       CONFIGURE_GIT_UNCOMMITTED="`GIT_DIR=\"$(top_srcdir)/.git\" $(GIT) diff-index --cached  --quiet --ignore-submodules HEAD || echo \"*\"`"; \
-       CONFIGURE_GIT_REVISION="`GIT_DIR=\"$(top_srcdir)/.git\" $(GIT) rev-parse --symbolic-full-name HEAD | cut -d/ -f3-`/`GIT_DIR=\"$(top_srcdir)/.git\" $(GIT) rev-parse --short=16 HEAD`"; \
+       @CONFIGURE_GIT_CHFILES="`$(GIT) -C \"$(top_srcdir)\" diff-files --name-status -r --ignore-submodules --quiet -- || echo \"+\"`"; \
+       CONFIGURE_GIT_UNCOMMITTED="`$(GIT) -C \"$(top_srcdir)\" diff-index --cached  --quiet --ignore-submodules HEAD || echo \"*\"`"; \
+       CONFIGURE_GIT_REVISION="`$(GIT) -C \"$(top_srcdir)\" rev-parse --symbolic-full-name HEAD | cut -d/ -f3-`/`$(GIT) -C \"$(top_srcdir)\" rev-parse --short=16 HEAD`"; \
        echo "#define CONFIGURE_GIT_REVISION \"$${CONFIGURE_GIT_REVISION}\"" > config-version.h.tmp; \
        echo "#define CONFIGURE_GIT_FLAGS \"$${CONFIGURE_GIT_CHFILES}$${CONFIGURE_GIT_UNCOMMITTED}\"" >> config-version.h.tmp
 
index 9ce826ca5892ea56bfa6666578ef383bb730e604..ea0da1fffb168d199ee19b1b6ec54d5a4b99ed15 100644 (file)
@@ -1308,9 +1308,11 @@ fi
 
 AC_MSG_CHECKING([git checkout])
 GIT_CHECKOUT="no"
-if test -n "${GIT}" -a -d "${srcdir}/.git"; then
-       AC_DEFINE([HAVE_CONFIG_VERSION_H], [1], [extra version available in config-version.h])
-       GIT_CHECKOUT="yes"
+if test -n "${GIT}"; then
+       if ${GIT} -C "$srcdir" rev-parse --is-inside-work-tree >/dev/null 2>&1; then
+               AC_DEFINE([HAVE_CONFIG_VERSION_H], [1], [extra version available in config-version.h])
+               GIT_CHECKOUT="yes"
+       fi
 fi
 AC_MSG_RESULT([${GIT_CHECKOUT}])