summaryrefslogtreecommitdiff
path: root/net/ola/patches/020_extend_configure_so_we_switch_to_cpp11.patch
blob: 8eaeceb98bce2a87ab81cbdb0bdb17829f63b915 (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
https://github.com/OpenLightingProject/ola/commit/30fe936a885c8a364bdda507a692c8e259576621

From 30fe936a885c8a364bdda507a692c8e259576621 Mon Sep 17 00:00:00 2001
From: Peter Newman <peterjnewman@gmail.com>
Date: Mon, 13 Aug 2018 00:53:51 +0100
Subject: [PATCH] Extend configure so we switch to C++11 if necessary for
 Protobuf 3.6 or above too

(cherry picked from commit 5286a6925f5f9dc1a045d13632d08cef7f818536)
---
 configure.ac | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

--- a/configure.ac
+++ b/configure.ac
@@ -103,23 +103,29 @@ AS_IF([test "x$ac_cv_gnu_plus_plus_11" =
 # force us into gnu++98 mode if necessary
 # If gnu++11 and gnu++98 then
 #   If random works with gnu++98
-#     If no unit tests, force to gnu++98
-#     If unittests and cppunit < 1.14.0, force to gnu++98
-#     Else turn off deprecation messages for std::auto_ptr and run gnu++11
-#   Else run gnu++11
+#     If protobuf < 3.6
+#       If no unit tests, force to gnu++98
+#       Else we have unit tests
+#         If cppunit < 1.14.0, force to gnu++98
+#         Else turn off deprecation messages for std::auto_ptr and run gnu++11
+#     Else assume we have protobuf >= 3.6 (later checks will confirm that for certain), turn off deprecation messages for std::auto_ptr and run gnu++11
+#   Else turn off deprecation messages for std::auto_ptr and run gnu++11
 require_gnu_plus_plus_11="no"
 AS_IF([test "x$ac_cv_gnu_plus_plus_11" = xyes],
       [AS_IF([test "x$ac_cv_gnu_plus_plus_98" = xyes],
              [AS_IF([test "x$ac_cv_header_random_98" = xyes],
-                    [AS_IF([test "x$enable_unittests" = xno],
-                           [CXXFLAGS="$CXXFLAGS -std=gnu++98"],
-                           [PKG_CHECK_MODULES([CPPUNIT1], [cppunit < 1.14.0],
+                    [PKG_CHECK_MODULES([PROTOBUF1], [protobuf < 3.6],
+                                       [AS_IF([test "x$enable_unittests" = xno],
                                               [CXXFLAGS="$CXXFLAGS -std=gnu++98"],
-                                              [PKG_CHECK_MODULES([CPPUNIT2], [cppunit >= 1.14.0],
-                                                                 [require_gnu_plus_plus_11="yes"],
-                                                                 [AC_MSG_WARN([OLA requires std::auto_ptr support.])])
+                                              [PKG_CHECK_MODULES([CPPUNIT1], [cppunit < 1.14.0],
+                                                                 [CXXFLAGS="$CXXFLAGS -std=gnu++98"],
+                                                                 [PKG_CHECK_MODULES([CPPUNIT2], [cppunit >= 1.14.0],
+                                                                                    [require_gnu_plus_plus_11="yes"],
+                                                                                    [AC_MSG_WARN([OLA requires std::auto_ptr support.])])
+                                                                 ])
                                               ])
-                           ])
+                                       ],
+                                       [require_gnu_plus_plus_11="yes"])
                     ],
                     [require_gnu_plus_plus_11="yes"])
              ])