summaryrefslogtreecommitdiff
path: root/src/lib/log
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-07-11 09:52:39 -0400
committerNick Mathewson <nickm@torproject.org>2018-07-11 09:52:39 -0400
commit5aee26ee46d8d38759713d00ce4310a3aef4a559 (patch)
treeb9f2f7218ee3a19dc02fe2f4dff32577a336c1be /src/lib/log
parent537092cdbb7f4be0e6d68f4e5d65ca2a403375f9 (diff)
downloadtor-5aee26ee46d8d38759713d00ce4310a3aef4a559.tar.gz
tor-5aee26ee46d8d38759713d00ce4310a3aef4a559.zip
Move all use cases of micro-revision.i to a single place
That place is git-revision.c; git-revision.c now lives in lib/log. Also fix the compilation rules so that all object files that need micro-revision.i depend on it.
Diffstat (limited to 'src/lib/log')
-rw-r--r--src/lib/log/git_revision.c24
-rw-r--r--src/lib/log/git_revision.h12
-rw-r--r--src/lib/log/include.am9
-rw-r--r--src/lib/log/log.c14
4 files changed, 47 insertions, 12 deletions
diff --git a/src/lib/log/git_revision.c b/src/lib/log/git_revision.c
new file mode 100644
index 0000000000..9d29ecd2a2
--- /dev/null
+++ b/src/lib/log/git_revision.c
@@ -0,0 +1,24 @@
+/* Copyright 2001-2004 Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include "lib/log/git_revision.h"
+
+/** String describing which Tor Git repository version the source was
+ * built from. This string is generated by a bit of shell kludging in
+ * src/core/include.am, and is usually right.
+ */
+const char tor_git_revision[] =
+#ifndef _MSC_VER
+#include "micro-revision.i"
+#endif
+ "";
+
+const char tor_bug_suffix[] = " (on Tor " VERSION
+#ifndef _MSC_VER
+ " "
+#include "micro-revision.i"
+#endif
+ ")";
diff --git a/src/lib/log/git_revision.h b/src/lib/log/git_revision.h
new file mode 100644
index 0000000000..0ce1190795
--- /dev/null
+++ b/src/lib/log/git_revision.h
@@ -0,0 +1,12 @@
+/* Copyright 2001-2004 Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef TOR_GIT_REVISION_H
+#define TOR_GIT_REVISION_H
+
+extern const char tor_git_revision[];
+extern const char tor_bug_suffix[];
+
+#endif /* !defined(TOR_GIT_REVISION_H) */
diff --git a/src/lib/log/include.am b/src/lib/log/include.am
index b5a1c5ca26..4a6c9b3686 100644
--- a/src/lib/log/include.am
+++ b/src/lib/log/include.am
@@ -7,6 +7,7 @@ endif
src_lib_libtor_log_a_SOURCES = \
src/lib/log/escape.c \
+ src/lib/log/git_revision.c \
src/lib/log/ratelim.c \
src/lib/log/log.c \
src/lib/log/util_bug.c
@@ -20,11 +21,15 @@ src_lib_libtor_log_testing_a_SOURCES = \
src_lib_libtor_log_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
src_lib_libtor_log_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
-src/lib/log/torlog.$(OBJEXT) \
- src/lib/log/src_lib_libtor_log_testing_a-torlog.$(OBJEXT): micro-revision.i
+# Declare that these object files depend on micro-revision.i. Without this
+# rule, we could try to build them before micro-revision.i was created.
+src/lib/log/git_revision.$(OBJEXT) \
+ src/lib/log/src_lib_libtor_log_testing_a-git_revision.$(OBJEXT): \
+ micro-revision.i
noinst_HEADERS += \
src/lib/log/escape.h \
+ src/lib/log/git_revision.h \
src/lib/log/ratelim.h \
src/lib/log/log.h \
src/lib/log/util_bug.h \
diff --git a/src/lib/log/log.c b/src/lib/log/log.c
index 8349041ab1..e2514a341b 100644
--- a/src/lib/log/log.c
+++ b/src/lib/log/log.c
@@ -32,6 +32,7 @@
#define LOG_PRIVATE
#include "lib/log/log.h"
+#include "lib/log/git_revision.h"
#include "lib/log/ratelim.h"
#include "lib/lock/compat_mutex.h"
#include "lib/smartlist_core/smartlist_core.h"
@@ -353,13 +354,6 @@ log_tor_version(logfile_t *lf, int reset)
return 0;
}
-static const char bug_suffix[] = " (on Tor " VERSION
-#ifndef _MSC_VER
- " "
-#include "micro-revision.i"
-#endif
- ")";
-
/** Helper: Format a log message into a fixed-sized buffer. (This is
* factored out of <b>logv</b> so that we never format a message more
* than once.) Return a pointer to the first character of the message
@@ -442,9 +436,9 @@ format_msg(char *buf, size_t buf_len,
}
if (domain == LD_BUG &&
- buf_len - n > strlen(bug_suffix)+1) {
- memcpy(buf+n, bug_suffix, strlen(bug_suffix));
- n += strlen(bug_suffix);
+ buf_len - n > strlen(tor_bug_suffix)+1) {
+ memcpy(buf+n, tor_bug_suffix, strlen(tor_bug_suffix));
+ n += strlen(tor_bug_suffix);
}
buf[n]='\n';