diff options
-rw-r--r-- | buildtools/wafsamba/samba_autoconf.py | 9 | ||||
-rw-r--r-- | buildtools/wafsamba/samba_pidl.py | 11 |
2 files changed, 19 insertions, 1 deletions
diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py index b6d0b358d6..1babe7b62d 100644 --- a/buildtools/wafsamba/samba_autoconf.py +++ b/buildtools/wafsamba/samba_autoconf.py @@ -448,10 +448,19 @@ def CHECK_LDFLAGS(conf, ldflags): @conf +def CONFIG_GET(conf, option): + '''return True if a configuration option was found''' + if (option in conf.env): + return conf.env[option] + else: + return None + +@conf def CONFIG_SET(conf, option): '''return True if a configuration option was found''' return (option in conf.env) and (conf.env[option] != ()) Build.BuildContext.CONFIG_SET = CONFIG_SET +Build.BuildContext.CONFIG_GET = CONFIG_GET def library_flags(conf, libs): diff --git a/buildtools/wafsamba/samba_pidl.py b/buildtools/wafsamba/samba_pidl.py index 902d4c6e01..6476211eea 100644 --- a/buildtools/wafsamba/samba_pidl.py +++ b/buildtools/wafsamba/samba_pidl.py @@ -58,7 +58,16 @@ def SAMBA_PIDL(bld, pname, source, pidl_src_nodes = bld.pidl_files_cache # the cd .. is needed because pidl currently is sensitive to the directory it is run in - t = bld(rule='cd .. && ${PERL} "${PIDL}" --quiet ${OPTIONS} --outputdir ${OUTPUTDIR} -- "${SRC[0].abspath(env)}"', + cpp = "" + cc = "" + if bld.CONFIG_SET("CPP"): + cpp = "CPP=%s" % bld.CONFIG_GET("CPP") + if bld.CONFIG_SET("CC"): + if isinstance(bld.CONFIG_GET("CC"), list): + cc = "CC=%s" % bld.CONFIG_GET("CC")[0] + else: + cc = "CC=%s" % bld.CONFIG_GET("CC") + t = bld(rule='cd .. && %s %s ${PERL} "${PIDL}" --quiet ${OPTIONS} --outputdir ${OUTPUTDIR} -- "${SRC[0].abspath(env)}"' % (cpp, cc), ext_out = '.c', before = 'cc', on_results = True, |