]> granicus.if.org Git - handbrake/commitdiff
configure: check for strerror_r()
authorSean McGovern <gseanmcg@gmail.com>
Sun, 10 Jul 2016 20:00:16 +0000 (16:00 -0400)
committerSean McGovern <gseanmcg@gmail.com>
Sun, 10 Jul 2016 20:24:32 +0000 (16:24 -0400)
libhb/module.defs
make/configure.py

index 6ca0d2fbc01f47e64bd1611e024cfd4ae8a10cba..ca80e56fa0de0d960075e706f73bcf21c944bb50 100644 (file)
@@ -82,6 +82,10 @@ ifeq (1,$(COMPAT.strtok_r))
     LIBHB.GCC.D += HB_NEED_STRTOK_R
 endif
 
+ifeq (1,$(HAS.strerror_r))
+    LIBHB.GCC.D += HAS_STRERROR_R
+endif
+
 ## required for <libdvdread/*.h>
 ifneq (,$(filter $(BUILD.arch),ppc ppc64))
        LIBHB.GCC.D += WORDS_BIGENDIAN
index e75ca2872b9294d94e0fc8d1b09d4b9db00571ef..3efb6848b9a4f547bc8ae45c744219493ede7872 100644 (file)
@@ -1726,6 +1726,23 @@ int main ()
         strtok_r = LDProbe( 'static strtok_r', '%s -static' % Tools.gcc.pathname, '', strtok_r_test )
         strtok_r.run()
 
+    strerror_r_test = """
+#include <string.h>
+
+int main()
+{
+    /* some implementations fail if buf is less than 80 characters
+       so size it appropriately */
+    char errstr[128];
+    /* some implementations fail if err == 0 */
+    strerror_r(1, errstr, 127);
+    return 0;
+}
+"""
+
+    strerror_r = LDProbe( 'strerror_r', '%s' % Tools.gcc.pathname, '', strerror_r_test )
+    strerror_r.run()
+
     ## cfg hook before doc prep
     cfg.doc_ready()
 
@@ -1858,6 +1875,10 @@ int main ()
             doc.add( 'HAS.regex', 1 )
         if strtok_r.fail:
             doc.add( 'COMPAT.strtok_r', 1 )
+    else:
+        doc.addBlank()
+        if not strerror_r.fail:
+            doc.add( 'HAS.strerror_r', 1 )
 
     doc.addMake( '' )
     doc.addMake( '## define debug mode and optimize before other includes' )