From: stevenknight Date: Fri, 17 Sep 2004 14:13:57 +0000 (+0000) Subject: Fix inconsistency in conf.CheckFunc(). X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=e8f405d52048d997115281f726ac7808e7f1a22c;p=scons.git Fix inconsistency in conf.CheckFunc(). git-svn-id: http://scons.tigris.org/svn/scons/trunk@1080 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- diff --git a/doc/man/scons.1 b/doc/man/scons.1 index 217c01f3..d4f2103e 100644 --- a/doc/man/scons.1 +++ b/doc/man/scons.1 @@ -6629,12 +6629,27 @@ to \N'34'). Returns 1 on success and 0 on failure. .TP -.RI Configure.CheckFunc( self ", " function_name ", [" language ]) +.RI Configure.CheckFunc( self ", " function_name ", [" header ", " language ]) Checks if the specified C or C++ function is available. .I function_name is the name of the function to check for. The optional +.I header +argument is a string +that will be +placed at the top +of the test file +that will be compiled +to check if the function exists; +the default is: +.ES +#ifdef __cplusplus +extern "C" +#endif +char function_name(); +.EE +The optional .I language argument should be .B C diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 6ee412c1..b035acbf 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -49,6 +49,10 @@ RELEASE 0.97 - XXX "{building,cleaning} terminated because of errors" to "done {building,cleaning} targets (errors occurred during {build,clean})." + - Allow Configure.CheckFunc() to take an optional header argument + (already supported by Conftest.py) to specify text at the top of + the compiled test file. + From Elliot Murphy: - Enhance the tests to guarantee persistence of ListOption diff --git a/src/engine/SCons/SConf.py b/src/engine/SCons/SConf.py index 4d6c8316..76df30a8 100644 --- a/src/engine/SCons/SConf.py +++ b/src/engine/SCons/SConf.py @@ -768,8 +768,8 @@ class CheckContext: #### End of stuff used by Conftest.py. -def CheckFunc(context, function_name, language = None): - res = SCons.Conftest.CheckFunc(context, function_name, language = language) +def CheckFunc(context, function_name, header = None, language = None): + res = SCons.Conftest.CheckFunc(context, function_name, header = header, language = language) context.did_show_result = 1 return not res diff --git a/src/engine/SCons/SConfTests.py b/src/engine/SCons/SConfTests.py index 1f6e65cc..b704f62e 100644 --- a/src/engine/SCons/SConfTests.py +++ b/src/engine/SCons/SConfTests.py @@ -475,6 +475,8 @@ int main() { # CheckFunc() r = sconf.CheckFunc('strcpy') assert r, "did not find strcpy" + r = sconf.CheckFunc('strcpy', '/* header */ char strcpy();') + assert r, "did not find strcpy" r = sconf.CheckFunc('hopefullynofunction') assert not r, "unexpectedly found hopefullynofunction"