[easytag/wip/ax-compile-warnings] Use AX_GENERATE_CHANGELOG
- From: David King <davidk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [easytag/wip/ax-compile-warnings] Use AX_GENERATE_CHANGELOG
- Date: Wed, 4 Feb 2015 08:44:31 +0000 (UTC)
commit cc8ad6974afd20e2682150ebad22e5312285ff58
Author: David King <amigadave amigadave com>
Date: Wed Feb 4 08:28:32 2015 +0000
Use AX_GENERATE_CHANGELOG
Use the upstream autconf archive ChangeLog generation macro, rather than
a custom equivalent.
Makefile.am | 12 +----
configure.ac | 2 +
m4/ax_generate_changelog.m4 | 100 +++++++++++++++++++++++++++++++++++++++++++
3 files changed, 104 insertions(+), 10 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 13eeede..879cc24 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -541,15 +541,7 @@ clean-local-dstamp:
-rm -f data/.dstamp
-rm -f tests/.dstamp
-git-changelog-hook:
- $(AM_V_at)if $(top_srcdir)/build-aux/missing --run git \
- --git-dir=$(top_srcdir)/.git --work-tree=$(top_srcdir) log \
- --stat -M -C --name-status --no-color \
- | fmt --split-only >.ChangeLog.tmp; \
- then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \
- else rm -f .ChangeLog.tmp; exit 1; fi
+ GENERATE_CHANGELOG_RULES@
-dist-hook: git-changelog-hook
-
-.PHONY: clean-local-dstamp git-changelog-hook
+.PHONY: clean-local-dstamp
.PHONY: test test-report perf-report full-report
diff --git a/configure.ac b/configure.ac
index 50e2a2e..bc4682e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,6 +47,8 @@ AC_PROG_CXXCPP
AC_PROG_SED
PKG_PROG_PKG_CONFIG([0.24])
+AX_GENERATE_CHANGELOG
+
AC_SUBST([GLIB_COMPILE_RESOURCES], [`$PKG_CONFIG --variable glib_compile_resources gio-2.0`])
AC_PATH_PROG([GDK_PIXBUF_PIXDATA], [gdk-pixbuf-pixdata])
diff --git a/m4/ax_generate_changelog.m4 b/m4/ax_generate_changelog.m4
new file mode 100644
index 0000000..155b532
--- /dev/null
+++ b/m4/ax_generate_changelog.m4
@@ -0,0 +1,100 @@
+# ===============================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_generate_changelog.html
+# ===============================================================================
+#
+# SYNOPSIS
+#
+# AX_GENERATE_CHANGELOG()
+#
+# DESCRIPTION
+#
+# Builds a rule for generating a ChangeLog file from version control system
+# commit messages. Currently, the only supported VCS is git, but support for
+# others could be added in future.
+#
+# Defines GENERATE_CHANGELOG_RULES which should be substituted in your
+# Makefile.
+#
+# Usage example:
+#
+# configure.ac:
+#
+# AX_GENERATE_CHANGELOG
+#
+# Makefile.am:
+#
+# @GENERATE_CHANGELOG_RULES@
+# CHANGELOG_START = 0.2.3^
+#
+# ChangeLog (stub committed to VCS):
+#
+# The ChangeLog is auto-generated when releasing.
+# If you are seeing this, use 'git log' for a detailed list of changes.
+#
+# This results in a "dist-ChangeLog" rule being added to the Makefile and
+# automatically added as a prerequisite of "dist-hook". When run,
+# "dist-ChangeLog" will generate a ChangeLog in the $(top_distdir), using
+# $(CHANGELOG_GIT_FLAGS) to format the output from "git log" being run in
+# $(CHANGELOG_GIT_DIR).
+#
+# Unless Automake is initialised with the 'foreign' option, a dummy
+# ChangeLog file must be committed to VCS in $(top_srcdir), containing the
+# text above (for example). It will be substituted by the automatically
+# generated ChangeLog during "make dist".
+#
+# LICENSE
+#
+# Copyright (c) 2015 David King <amigadave amigadave com>
+# Copyright (c) 2015 Philip Withnall <philip withnall collabora co uk>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 1
+
+AC_DEFUN([AX_GENERATE_CHANGELOG],[
+ # Find git, defaulting to the 'missing' script so the user gets a nice
+ # message if git is missing, rather than a plain 'command not found'.
+ AC_PATH_PROG([GIT],[git],[${am_missing_run}git])
+ AC_SUBST([GIT])
+
+ # Build the ChangeLog rules.
+ m4_pattern_allow([AM_V_GEN])
+GENERATE_CHANGELOG_RULES='
+# Generate ChangeLog
+#
+# Optional:
+# - CHANGELOG_START: git commit ID or tag name to output changelogs from
+# (exclusive). (Default: include all commits)
+# - CHANGELOG_GIT_FLAGS: General flags to pass to git-log when generating the
+# ChangeLog. (Default: various)
+# - CHANGELOG_GIT_DIR: .git directory to use. (Default: $(top_srcdir)/.git)
+
+# git-specific
+CHANGELOG_GIT_FLAGS ?= --stat -M -C --name-status --no-color
+CHANGELOG_GIT_DIR ?= $(top_srcdir)/.git
+
+ifeq ($(CHANGELOG_START),)
+CHANGELOG_GIT_RANGE =
+else
+CHANGELOG_GIT_RANGE = $(CHANGELOG_START)..
+endif
+
+# Generate a ChangeLog in $(top_distdir)
+dist-ChangeLog:
+ $(AM_V_GEN)if $(GIT) \
+ --git-dir=$(CHANGELOG_GIT_DIR) --work-tree=$(top_srcdir) log \
+ $(CHANGELOG_GIT_FLAGS) $(CHANGELOG_GIT_RANGE) \
+ | fmt --split-only >.ChangeLog.tmp; \
+ then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \
+ else rm -f .ChangeLog.tmp; exit 1; fi
+
+dist-hook: dist-ChangeLog
+.PHONY: dist-ChangeLog
+'
+
+ AC_SUBST([GENERATE_CHANGELOG_RULES])
+ m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([GENERATE_CHANGELOG_RULES])])
+])
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]