diff options
Diffstat (limited to 'lib/replace/autoconf.py')
-rw-r--r-- | lib/replace/autoconf.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/replace/autoconf.py b/lib/replace/autoconf.py new file mode 100644 index 0000000000..cb7e7f0bc7 --- /dev/null +++ b/lib/replace/autoconf.py @@ -0,0 +1,46 @@ +# a waf tool to add autoconf-like macros to the configure section + +from Configure import conf + +@conf +def DEFUN(conf, d, v): + conf.define(d, v, quote=False) + conf.env.append_value('CCDEFINES', d + '=' + str(v)) + +@conf +def CHECK_HEADERS(conf, list): + for hdr in list.rsplit(' '): + if conf.check(header_name=hdr): + conf.env.hlist.append(hdr) + +@conf +def CHECK_TYPES(conf, list): + for t in list.rsplit(' '): + conf.check(type_name=t, header_name=conf.env.hlist) + +@conf +def CHECK_TYPE_IN(conf, t, hdr): + if conf.check(header_name=hdr): + conf.check(type_name=t, header_name=hdr) + +@conf +def CHECK_TYPE(conf, t, alternate): + if not conf.check(type_name=t, header_name=conf.env.hlist): + conf.DEFUN(t, alternate) + +@conf +def CHECK_FUNCS(conf, list): + for f in list.rsplit(' '): + conf.check(function_name=f, header_name=conf.env.hlist) + +@conf +def CHECK_FUNCS_IN(conf, list, library): + if conf.check(lib=library, uselib_store=library): + for f in list.rsplit(' '): + conf.check(function_name=f, lib=library, header_name=conf.env.hlist) + +@conf +def check_rpath(conf): + # this should check if rpath works + conf.env.append_value('RPATH', '-Wl,-rpath=build/default') + |