[Xfce4-commits] <postler:master> Add function check helper and fail with missing libs

Christian Dywan noreply at xfce.org
Sun Nov 7 00:58:01 CET 2010


Updating branch refs/heads/master
         to bc61cd789879547ed61743a7ffae45a0df0f74ab (commit)
       from 86e2f35113d1fde1975d643950e8d4fce8e54762 (commit)

commit bc61cd789879547ed61743a7ffae45a0df0f74ab
Author: Christian Dywan <christian at twotoasts.de>
Date:   Sun Nov 7 00:57:29 2010 +0100

    Add function check helper and fail with missing libs

 wscript |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/wscript b/wscript
index 070bd93..ab833dd 100644
--- a/wscript
+++ b/wscript
@@ -97,6 +97,16 @@ def configure (conf):
             atleast_version=version, mandatory=mandatory)
         return conf.env['HAVE_' + var]
 
+    def check_function (function, header, lib=None, var=None, mandatory=True):
+        if not var:
+            var = 'HAVE_' + function.upper ()
+        if lib:
+           conf.check (function_name=function, header_name=header, \
+               lib=lib, mandatory=mandatory, define_name=var)
+        else:
+            conf.check (function_name=function, header_name=header, \
+                mandatory=mandatory, define_name=var)
+
     check_pkg ('gio-2.0', '2.16.0')
     check_pkg ('unique-1.0', '0.9')
     check_pkg ('gtk+-2.0', '2.12.0', var='GTK')
@@ -107,16 +117,15 @@ def configure (conf):
     conf.check (fragment='#define _GNU_SOURCE\n#include <stdio.h>\n' \
         'int main(char** argv, int argc)\n' \
         '{ char* a;\nvasprintf(&a, "%s", ""); return 0; }', \
-        define_name='HAVE_VASPRINTF', msg='Checking for function vasprintf')
-    conf.check (function_name='socket', header_name='sys/socket.h')
-    conf.check (function_name='inet_ntoa', header_name='arpa/inet.h', lib='nsl')
+        define_name='HAVE_VASPRINTF', msg='Checking for function vasprintf', \
+        mandatory=True)
+    check_function ('socket', 'sys/socket.h')
+    check_function ('inet_ntoa', 'arpa/inet.h', 'nsl')
     check_pkg ('openssl')
-    conf.check (function_name='dlopen', header_name='dlfcn.h', lib='dl')
-    conf.check (function_name='CRYPTO_lock',
-                header_name='openssl/crypto.h', lib='crypto')
-    conf.check (function_name='SSL_connect', lib='ssl',
-                header_name='openssl/ssl.h', define_name='HAVE_LIBSSL')
-    conf.check (function_name='db_create', header_name='db.h', lib='db')
+    check_function ('dlopen', 'dlfcn.h', 'dl')
+    check_function ('CRYPTO_lock', 'openssl/crypto.h', 'crypto')
+    check_function ('SSL_connect', 'openssl/ssl.h', 'ssl', 'HAVE_LIBSSL')
+    check_function ('db_create', 'db.h', 'db')
     conf.define ('PACKAGE', APPNAME)
     conf.define ('VERSION', VERSION)
     conf.define ('POSTLER_CHANGES', 1)



More information about the Xfce4-commits mailing list