diff options
author | Jim Meyering <meyering@redhat.com> | 2011-06-12 11:24:57 +0200 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2011-06-13 09:17:15 +0200 |
commit | 7faccb437cb0c08c52ac061db66e9e028bd690a7 (patch) | |
tree | 660e64d290b9691d893c8294b4385f52b7fb39b9 | |
parent | 929cf564727acb17435e98b6d05e9d6453f10808 (diff) | |
download | diffutils-7faccb437cb0c08c52ac061db66e9e028bd690a7.tar.gz |
build: ccache works better without embedded version strings
* src/Makefile.am: Generate version.c and version.h and put the
new symbol in a tiny library to be used by each program.
(LDADD): Add the new library.
* src/cmp.c (main): Use Version, not PACKAGE_VERSION, so the .o
file does not change with each commit-derived version increment.
* src/diff.c (main): Likewise.
* src/diff3.c (main): Likewise.
* src/sdiff.c (main): Likewise.
* src/system.h: Include "version.h".
* .gitignore: Add version.[ch]
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | src/Makefile.am | 22 | ||||
-rw-r--r-- | src/cmp.c | 2 | ||||
-rw-r--r-- | src/diff.c | 2 | ||||
-rw-r--r-- | src/diff3.c | 2 | ||||
-rw-r--r-- | src/sdiff.c | 2 | ||||
-rw-r--r-- | src/system.h | 1 |
7 files changed, 28 insertions, 4 deletions
@@ -65,4 +65,5 @@ src/diff src/diff3 src/paths.h src/sdiff +src/version.[ch] tests/*.log diff --git a/src/Makefile.am b/src/Makefile.am index e94879c..275c155 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -23,6 +23,7 @@ AM_CPPFLAGS = -I../lib -I$(top_srcdir)/lib AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) LDADD = \ + libver.a \ ../lib/libdiffutils.a \ $(LIBCSTACK) \ $(LIBINTL) \ @@ -52,3 +53,24 @@ BUILT_SOURCES = paths.h paths.h: Makefile.am $(AM_V_GEN)(echo '#define DEFAULT_DIFF_PROGRAM "'$(gdiff)'"' && \ echo '#define LOCALEDIR "$(localedir)"') >$@t && mv $@t $@ + +noinst_LIBRARIES = libver.a +nodist_libver_a_SOURCES = version.c version.h + +BUILT_SOURCES += version.c +version.c: Makefile + $(AM_V_GEN)rm -f $@ + $(AM_V_at)printf '#include <config.h>\n' > $@t + $(AM_V_at)printf 'char const *Version = "$(PACKAGE_VERSION)";\n' >> $@t + $(AM_V_at)chmod a-w $@t + $(AM_V_at)mv $@t $@ + +BUILT_SOURCES += version.h +version.h: Makefile + $(AM_V_GEN)rm -f $@ + $(AM_V_at)printf 'extern char const *Version;\n' > $@t + $(AM_V_at)chmod a-w $@t + $(AM_V_at)mv $@t $@ + +DISTCLEANFILES = version.c version.h +MAINTAINERCLEANFILES = $(BUILT_SOURCES) @@ -248,7 +248,7 @@ main (int argc, char **argv) break; case 'v': - version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, PACKAGE_VERSION, + version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS, (char *) NULL); check_stdout (); return EXIT_SUCCESS; @@ -480,7 +480,7 @@ main (int argc, char **argv) break; case 'v': - version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, PACKAGE_VERSION, + version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS, (char *) NULL); check_stdout (); return EXIT_SUCCESS; diff --git a/src/diff3.c b/src/diff3.c index 34e7a8f..0eecb5e 100644 --- a/src/diff3.c +++ b/src/diff3.c @@ -280,7 +280,7 @@ main (int argc, char **argv) strip_trailing_cr = true; break; case 'v': - version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, PACKAGE_VERSION, + version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS, (char *) NULL); check_stdout (); return EXIT_SUCCESS; diff --git a/src/sdiff.c b/src/sdiff.c index 2d53d2f..6d2e72d 100644 --- a/src/sdiff.c +++ b/src/sdiff.c @@ -513,7 +513,7 @@ main (int argc, char *argv[]) break; case 'v': - version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, PACKAGE_VERSION, + version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS, (char *) NULL); check_stdout (); return EXIT_SUCCESS; diff --git a/src/system.h b/src/system.h index 15656bc..594ef6e 100644 --- a/src/system.h +++ b/src/system.h @@ -117,6 +117,7 @@ int strcasecmp (char const *, char const *); #include <stdbool.h> #include <intprops.h> #include "propername.h" +#include "version.h" /* Type used for fast comparison of several bytes at a time. */ |