summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <adam@sigterm.info>2016-04-22 10:17:11 -0500
committerAdam <adam@sigterm.info>2016-04-22 10:17:11 -0500
commita2dbcc620e92b0af418cdd03b736bf9ca54cf19b (patch)
tree025c40e5e218b90109091cf6e69294e7a881a395
parent9b5fdea8f299fa63eb59196828b8546ab951d045 (diff)
parentfab07d6b75d8ddd9735b4bc02a57bf23cda5330f (diff)
Merge pull request #166 from jmdh/2.0-reproducible
Optionally strip variable build date from compiled program
-rw-r--r--CMakeLists.txt5
-rw-r--r--include/anope.h2
-rw-r--r--src/misc.cpp4
3 files changed, 11 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b5d1d381b..595a12456 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -239,6 +239,11 @@ option(USE_PCH "Use precompiled headers" OFF)
# source include directory so the precompiled headers work correctly.
include_directories(${Anope_BINARY_DIR}/include ${Anope_SOURCE_DIR}/include ${Anope_BINARY_DIR}/language ${Anope_SOURCE_DIR}/modules/pseudoclients)
+# Pass on REPRODUCIBLE_BUILD
+if(REPRODUCIBLE_BUILD)
+ add_definitions(-DREPRODUCIBLE_BUILD)
+endif(REPRODUCIBLE_BUILD)
+
# If using Windows, always add the _WIN32 define
if(WIN32)
add_definitions(-D_WIN32)
diff --git a/include/anope.h b/include/anope.h
index dadc73b13..48a4f7674 100644
--- a/include/anope.h
+++ b/include/anope.h
@@ -336,7 +336,9 @@ namespace Anope
template<typename T> class multimap : public std::multimap<string, T, ci::less> { };
template<typename T> class hash_map : public TR1NS::unordered_map<string, T, hash_ci, compare> { };
+#ifndef REPRODUCIBLE_BUILD
static const char *const compiled = __TIME__ " " __DATE__;
+#endif
/** The time Anope started.
*/
diff --git a/src/misc.cpp b/src/misc.cpp
index e1d78c800..8149481ca 100644
--- a/src/misc.cpp
+++ b/src/misc.cpp
@@ -632,7 +632,11 @@ Anope::string Anope::VersionShort()
Anope::string Anope::VersionBuildString()
{
+#ifdef REPRODUCIBLE_BUILD
+ Anope::string s = "build #" + stringify(BUILD);
+#else
Anope::string s = "build #" + stringify(BUILD) + ", compiled " + Anope::compiled;
+#endif
Anope::string flags;
#ifdef DEBUG_BUILD