Autoconf-like configuration support; low level implementation of tests.
|
CheckBuilder(context,
text=None,
language=None)
Configure check to see if the compiler works.
Note that this uses the current value of compiler and linker flags, make
sure $CFLAGS, $CPPFLAGS and $LIBS are set correctly.
"language" should be "C" or "C++" and is used to select the compiler.
Default is "C".
"text" may be used to specify the code to be build.
Returns an empty string for success, an error message for failure. |
source code
|
|
|
|
|
|
|
|
|
|
|
_check_empty_program(context,
comp,
text,
language,
use_shared=False)
Return 0 on success, 1 otherwise. |
source code
|
|
|
CheckFunc(context,
function_name,
header=None,
language=None)
Configure check for a function "function_name".
"language" should be "C" or "C++" and is used to select the compiler.
Default is "C".
Optional "header" can be defined to define a function prototype, include a
header file or anything else that comes before main().
Sets HAVE_function_name in context.havedict according to the result.
Note that this uses the current value of compiler and linker flags, make
sure $CFLAGS, $CPPFLAGS and $LIBS are set correctly.
Returns an empty string for success, an error message for failure. |
source code
|
|
|
CheckHeader(context,
header_name,
header=None,
language=None,
include_quotes=None)
Configure check for a C or C++ header file "header_name".
Optional "header" can be defined to do something before including the
header file (unusual, supported for consistency).
"language" should be "C" or "C++" and is used to select the compiler.
Default is "C".
Sets HAVE_header_name in context.havedict according to the result.
Note that this uses the current value of compiler and linker flags, make
sure $CFLAGS and $CPPFLAGS are set correctly.
Returns an empty string for success, an error message for failure. |
source code
|
|
|
CheckType(context,
type_name,
fallback=None,
header=None,
language=None)
Configure check for a C or C++ type "type_name".
Optional "header" can be defined to include a header file.
"language" should be "C" or "C++" and is used to select the compiler.
Default is "C".
Sets HAVE_type_name in context.havedict according to the result.
Note that this uses the current value of compiler and linker flags, make
sure $CFLAGS, $CPPFLAGS and $LIBS are set correctly.
Returns an empty string for success, an error message for failure. |
source code
|
|
|
CheckTypeSize(context,
type_name,
header=None,
language=None,
expect=None)
This check can be used to get the size of a given type, or to check whether
the type is of expected size. |
source code
|
|
|
|
|
CheckLib(context,
libs,
func_name=None,
header=None,
extra_libs=None,
call=None,
language=None,
autoadd=1,
append=True)
Configure check for a C or C++ libraries "libs". Searches through
the list of libraries, until one is found where the test succeeds.
Tests if "func_name" or "call" exists in the library. Note: if it exists
in another library the test succeeds anyway!
Optional "header" can be defined to include a header file. If not given a
default prototype for "func_name" is added.
Optional "extra_libs" is a list of library names to be added after
"lib_name" in the build command. To be used for libraries that "lib_name"
depends on.
Optional "call" replaces the call to "func_name" in the test code. It must
consist of complete C statements, including a trailing ";".
Both "func_name" and "call" arguments are optional, and in that case, just
linking against the libs is tested.
"language" should be "C" or "C++" and is used to select the compiler.
Default is "C".
Note that this uses the current value of compiler and linker flags, make
sure $CFLAGS, $CPPFLAGS and $LIBS are set correctly.
Returns an empty string for success, an error message for failure. |
source code
|
|
|
|
|
_YesNoResult(context,
ret,
key,
text,
comment=None)
Handle the result of a test with a "yes" or "no" result.
"ret" is the return value: empty if OK, error message when not.
"key" is the name of the symbol to be defined (HAVE_foo).
"text" is the source code of the program used for testing.
"comment" is the C comment to add above the line defining the symbol (the
comment is automatically put inside a /* */). If None, no comment is added. |
source code
|
|
|
_Have(context,
key,
have,
comment=None)
Store result of a test in context.havedict and context.headerfilename. |
source code
|
|
|
_LogFailed(context,
text,
msg)
Write to the log about a failed program.
Add line numbers, so that error messages can be understood. |
source code
|
|
|
|