libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

git-version-gen w/o git


From: Peter Rosin
Subject: git-version-gen w/o git
Date: Thu, 18 Oct 2012 14:50:49 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1

Hi!

I used to use a libtool git checkout from a platform that lacks
git [MSYS], but that broke at some point. I would like something
like the below to unbreak my work flow.

Please?

Cheers,
Peter

diff --git a/Makefile.am b/Makefile.am
index 176325c..3bcb419 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -46,7 +46,7 @@ EXTRA_LTLIBRARIES     =
 # Using `cd' in backquotes may print the directory name, use this instead:
 lt__cd         = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 
-git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '.tarball-version'
+git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '--fallback' 
'$(VERSION)' '.tarball-version'
 rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | sed 
's|-.*$$||g'`
 
 
@@ -128,8 +128,10 @@ $(ltversion_m4): $(ltversion_in) $(dotversion)
        done; \
        if $$rebuild; then \
          rm -f '$@'; \
-         if test -f '$(srcdir)/.serial'; then \
-           serial=`cat '$(srcdir)/.serial'`; \
+         if test -d '$(srcdir)/.git' && git --version >& /dev/null; then \
+           $(git_commit_count) > '$(srcdir)/.serial'; \
+         fi; \
+         serial=`cat '$(srcdir)/.serial'`; \
          else \
            serial=`$(git_commit_count)`; \
          fi; \



And then some support for that in gnulib:

--- gnulib/build-aux/git-version-gen.orig       2012-10-02 17:10:58.935840500 
+0200
+++ gnulib/build-aux/git-version-gen    2012-10-18 14:41:57.458460000 +0200
@@ -86,6 +86,7 @@
 Options:
 
    --prefix           prefix of git tags (default 'v')
+   --fallback         fallback version to use if \"git --version\" fails
 
    --help             display this help and exit
    --version          output version information and exit
@@ -93,12 +94,14 @@
 Running without arguments will suffice in most cases."
 
 prefix=v
+fallback=
 
 while test $# -gt 0; do
   case $1 in
     --help) echo "$usage"; exit 0;;
     --version) echo "$version"; exit 0;;
     --prefix) shift; prefix="$1";;
+    --fallback) shift; fallback="$1";;
     -*)
       echo "$0: Unknown option '$1'." >&2
       echo "$0: Try '--help' for more information." >&2
@@ -184,8 +187,10 @@
     # Remove the "g" in git describe's output string, to save a byte.
     v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`;
     v_from_git=1
-else
+elif test -z "$fallback" || git --version >& /dev/null; then
     v=UNKNOWN
+else
+    v=$fallback
 fi
 
 v=`echo "$v" |sed "s/^$prefix//"`
--- gnulib/top/maint.mk.orig    2012-10-02 17:10:43.846614700 +0200
+++ gnulib/top/maint.mk 2012-10-18 14:41:53.433652900 +0200
@@ -1327,7 +1327,7 @@
 
 .PHONY: no-submodule-changes
 no-submodule-changes:
-       $(AM_V_GEN)if test -d $(srcdir)/.git; then                      \
+       $(AM_V_GEN)if test -d $(srcdir)/.git && git --version >& /dev/null; 
then \
          diff=$$(cd $(srcdir) && git submodule -q foreach              \
                  git diff-index --name-only HEAD)                      \
            || exit 1;                                                  \
@@ -1345,7 +1345,7 @@
 # cannot be built from a fresh clone.
 .PHONY: public-submodule-commit
 public-submodule-commit:
-       $(AM_V_GEN)if test -d $(srcdir)/.git; then                      \
+       $(AM_V_GEN)if test -d $(srcdir)/.git && git --version >& /dev/null; 
then \
          cd $(srcdir) &&                                               \
          git submodule --quiet foreach test '$$(git rev-parse $$sha1)' \
              = '$$(git merge-base origin $$sha1)'                      \



reply via email to

[Prev in Thread] Current Thread [Next in Thread]