aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-bsp/isp-imx/isp-imx/0001-isp-imx-drop-use-of-__TIME__-__DATE__.patch
blob: c3ee088fc3874554e7896b7ad6f1a00e477d021d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
From ea5ce303fa5bc7b6a17c522b4caf49d349adb12b Mon Sep 17 00:00:00 2001
From: Max Krummenacher <max.krummenacher@toradex.com>
Date: Sat, 30 Oct 2021 17:26:42 +0200
Subject: [PATCH] isp-imx: drop use of __TIME__, __DATE__

With reproducible build enabled the compiler is configured to throw
an error if __TIME__, __DATE__ preprocessor macros are used.

| isp-imx-4.2.2.11.0/mediacontrol/daemon/main_v4l2.cpp:99:44: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
|    99 |              std::cout << "Build Time : "<<__DATE__<<", "<<__TIME__<<std::endl;
|       |                                            ^~~~~~~~

Fix this by replacing __DATE__, __TIME__ with BUILD_DATE and setting
BUILD_DATE from CMakeLists.txt to either SOURCE_DATE_EPOCH if present
or the local time otherwise.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
---
 mediacontrol/CMakeLists.txt       | 3 +++
 mediacontrol/daemon/main_v4l2.cpp | 8 ++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/mediacontrol/CMakeLists.txt b/mediacontrol/CMakeLists.txt
index 5849c163e..8a8e1a4a0 100755
--- a/mediacontrol/CMakeLists.txt
+++ b/mediacontrol/CMakeLists.txt
@@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.1.0)
 
 project(ISP_MEDIA_CONTROL)
 
+string(TIMESTAMP BUILD_DATE "%b %d %Y" UTC)
+add_compile_definitions(BUILD_DATE="${BUILD_DATE}")
+
 if( NOT DEFINED APPSHELL_TOP_COMPILE)
     if(DEFINED PLATFORM)
         if(${PLATFORM} STREQUAL ARM64)
diff --git a/mediacontrol/daemon/main_v4l2.cpp b/mediacontrol/daemon/main_v4l2.cpp
index d3d1c2423..dd0514358 100644
--- a/mediacontrol/daemon/main_v4l2.cpp
+++ b/mediacontrol/daemon/main_v4l2.cpp
@@ -105,7 +105,7 @@ int main(int argc, char* argv[]) {
          if(!(string2Version.find(argv[1])==string2Version.end())){
              std::cout << "Version : "<<MEDIA_SERVER_VERSION<<std::endl;
 #ifndef ANDROID
-             std::cout << "Build Time : "<<__DATE__<<", "<<__TIME__<<std::endl;
+             std::cout << "Build Time : "<<BUILD_DATE<<std::endl;
 #endif
              return 0;
          }
@@ -116,8 +116,8 @@ int main(int argc, char* argv[]) {
     {
         ALOGI("******************************************************************");
 #ifndef ANDROID
-        ALOGI("VIV ISP Media Control Framework V%s (%s, %s)",
-              MEDIA_SERVER_VERSION, __DATE__, __TIME__);
+        ALOGI("VIV ISP Media Control Framework V%s (%s)",
+              MEDIA_SERVER_VERSION, BUILD_DATE);
 #else
         ALOGI("VIV ISP Media Control Framework V%s", MEDIA_SERVER_VERSION);
 #endif
@@ -138,7 +138,7 @@ int main(int argc, char* argv[]) {
                 if(!(string2Version.find(argv[i])==string2Version.end())){
                     std::cout << "Version : "<<MEDIA_SERVER_VERSION<<std::endl;
 #ifndef ANDROID
-                    std::cout << "Build Time : "<<__DATE__<<", "<<__TIME__<<std::endl;
+                    std::cout << "Build Time : "<<BUILD_DATE<<std::endl;
 #endif
                     i++;
                     continue;
-- 
2.20.1