Merge branch 'warnings' into v2.15.x.
[dcpomatic.git] / wscript
diff --git a/wscript b/wscript
index b0faa848393571959fbde0eff1c65d8168107765..f874758dde6d87d36267809965f643eef0d4b313 100644 (file)
--- a/wscript
+++ b/wscript
@@ -122,6 +122,11 @@ def configure(conf):
         if int(gcc[0]) >= 8:
             # I tried and failed to ignore these with _Pragma
             conf.env.append_value('CXXFLAGS', ['-Wno-cast-function-type'])
+        elif int(gcc[0]) == 7:
+            # There appears to be a GCC bug which lingered from major versions 5--7 and which
+            # flags up these warnings all over the place in boost::optional.
+            # These seems to be the only practical way to hide it
+            conf.env.append_value('CXXFLAGS', ['-Wno-maybe-uninitialized'])
         have_c11 = int(gcc[0]) >= 4 and int(gcc[1]) >= 8 and int(gcc[2]) >= 1
     else:
         have_c11 = False
@@ -203,11 +208,8 @@ def configure(conf):
 
     # OSX
     if conf.env.TARGET_OSX:
-        conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_OSX', '-Wno-unused-function', '-Wno-unused-parameter', '-Wno-unused-local-typedef', '-Wno-potentially-evaluated-expression'])
+        conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_OSX'])
         conf.env.append_value('LINKFLAGS', '-headerpad_max_install_names')
-    else:
-        # Avoid the endless warnings about _t uninitialized in optional<>
-        conf.env.append_value('CXXFLAGS', '-Wno-maybe-uninitialized')
 
     #
     # Dependencies.
@@ -322,7 +324,7 @@ def configure(conf):
         if conf.options.workaround_gssapi:
             conf.env.LIB_SSH = ['gssapi_krb5']
     else:
-        conf.check_cc(fragment="""
+        conf.check_cxx(fragment="""
                                #include <libssh/libssh.h>\n
                                int main () {\n
                                ssh_new ();\n
@@ -501,7 +503,7 @@ def configure(conf):
 
         conf.check_cxx(fragment="""
                            #include <boost/thread.hpp>\n
-                           int main() { boost::thread t (); }\n
+                           int main() { boost::thread t; }\n
                            """,
                        msg='Checking for boost threading library',
                        libpath='/usr/local/lib',
@@ -552,6 +554,7 @@ def configure(conf):
                                 #include <boost/process.hpp>\n
                                 int main() { new boost::process::child("foo"); }\n
                                 """,
+                           cxxflags='-Wno-unused-parameter',
                            msg='Checking for boost process library',
                            lib=deps,
                            uselib_store='BOOST_PROCESS')