Fix inconsistency in conf.CheckFunc().
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 17 Sep 2004 14:13:57 +0000 (14:13 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 17 Sep 2004 14:13:57 +0000 (14:13 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@1080 fdb21ef1-2011-0410-befe-b5e4ea1792b1

doc/man/scons.1
src/CHANGES.txt
src/engine/SCons/SConf.py
src/engine/SCons/SConfTests.py

index 217c01f38c0c714ab368c2899a74042c95c0704d..d4f2103e470475fc2da0e1c9cbfc2c05074977e1 100644 (file)
@@ -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
index 6ee412c176c714b3ad47b2d387691690bc338253..b035acbf57f7374fc50a5b702197338b6cc7076f 100644 (file)
@@ -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
index 4d6c8316b2c75d8aa17167eb6e8ae153aea7ffd8..76df30a8449deb8197627794a5bf2e2353219888 100644 (file)
@@ -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
 
index 1f6e65cc600bb73a894c42d946f3a2562b8ac346..b704f62ef66d623c9add9041fc3952cc2d78b6d0 100644 (file)
@@ -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"