/arg/ - arguments (user input) cc/ - C compiler related settings cc - C compiler (find_cc won't try to detect the compiler) cflags - default compile flags (find_cc won't try to detect compiler flags) ldflags - default link flags (find_cc won't try to detect link flags) ldflags_dynlib - link flags for dynamic libraries (for example -shared -dynamic) libs/ ldl - force -ldl lpthread - force -lpthread printf_x - force printf %x prefix printf_ptrcast - force printf %x pointer to integer cast dl-compat - prefix for dl-compat installation fstools/ cp - force shell copy command ln - force shell symlink command mv - force shell move command rm - force shell remove command mkdir - force shell mkdir command (should create all parent dirs!) ar - force shell command for handling archives ranlib - force shell command for indexing archives awk - force awk command chmodx - force shell command for marking a file executable find - force find command (for filelist functionality) sys/ target - target system (cross compilation if not empty); use with target-name target-name - name of the target system (we can't run target uname) shell - shell used for running config commands (/bin/sh -c) /internal/ filelist/ cmd - [find_filelist] command to get raw file listing (usually find or ls) method - [find_filelist] method to parse the output of internal/filelist/cmd ("word" or "line" splitting) *** The following subtrees present under both /host and /target: cc/ - C compiler cc - [find_cc] the actual compiler command cflags - [find_cc] default flags to be used when compiling c sources ldflags - [find_cc] default flags to be used when linking inline - [find_inline] true if inline works varargmacro - [find_varargmacro] true if vararg macros with "x..." notation work funcmacro - [find_funcmacro] true if __func__ macros work constructor - [find_constructor] true if constructor attribute works destructor - [find_destructor] true if destructor attribute works rdynamic - [find_rdynamic] set to -rdynamic if supported by the platform or empty string fpic - [find_fpic] set to -fPIC or -fpic if supported by the platform or empty string std/ - standards c99/ - which c99 features work on the system longlong - [find_c99_longlong] whether long long int is supported stdc - [find_c99_stdc] __STDC_VERSION__ macro emptymacro - [find_c99_emptymacro] true if calling macros with empty arguments work variadicmacro - [find_c99_variadicmacro] true if the "..." and __VA_ARGS__ notation for variadic macros work funcmacro - [find_c99_funcmacro] true if __func__ substitutes the name of the current function stdint - [find_c99_stdint] true if and works wchar - [find_c99_wchar] true if wchar is supported bool - [find_c99_bool] true if bool is supported () inline !!! del restrict - [find_c99_restrict] true if restrict pointer qualifier presents comment - [find_c99_comment] true if // commenting works endcomma - [find_c99_endcomma] true if traling commas in enums work nonconstinit - [find_c99_nonconstinit] true if non-constant initializers are allowed init - [find_c99_init] true if designated initializers work compoundlit - [find_c99_compoundlit] true if compound literals work decl - [find_c99_decl] true if declaration and statement mixing works for - [find_c99_for] true if "for (int i = 0; i < 1; i++)" loop can be compiled divmod - [find_c99_divmod] true if negative div rounds towards 0 incomparray - [find_c99_incomparray] true if incomplete array member (at the end of a struct) works snprintf - [find_c99_snprintf] true if snprintf is available in floatfmt - [find_c99_floatfmt] true if %lf %LF %a and %A float format strings are supported posix/ - which posix features are supported libs/ ldl - [find_lib_ldl] LDFLAGS to be used to get dlopen() and friends (usually -ldl or empty) dl-compat - [find_lib_ldl] true if dl-compat lib is used instead of normal -ldl lpthread - [find_lib_lpthread] LDFLAGS to be used to get posix threads (usually -lpthread) lpthread-recursive - [find_lib_pthread] True if recursive thread-locking is available printf_x - [find_printf_x] find prefix for %x (empty or "0x") printf_ptrcast - [find_printf_ptrcast] find pointer to int cast for printf %x snprintf - [find_snprintf] true, if system provides snprintf snprintf_safe - [find_snprintf] true, if snprintf is safe dprintf - [find_dprintf] true, if system provides dprintf vdprintf - [find_vdprintf] true, if system provides vdprintf vsnprintf - [find_vsnprintf] true, if system provides vsnprintf ; snprintf_safe should be considered parser/ expat/ldflags expat/cflags expat/presents script/ tcl/ldflags tcl/cflags tcl/presents stutter/ldflags stutter/cflags stutter/presents python/ldflags python/cflags python/presents perl/ldflags perl/cflags perl/presents mawk/ldflags mawk/cflags mawk/presents lua/ldflags lua/cflags lua/presents guile/ldflags guile/cflags guile/presents ruby/ldflags ruby/cflags ruby/presents math/ minpack/ ldflags cflags present io/ pipe/ presents time/ usleep/ presents Sleep/ normally windows specific presents includes gettimeofday/ presents ftime/ presents socket/ socket/ Should be a standard feature - but see also WSASocket() includes cflags ldflags presents init_code execute this code before any network call (normally empty but is required for win32 for example) uninit_code execute this code after last network call (normally empty but is required for win32 for example) select/ wsasocket/ On win32, WSASocket() needs to be used instead of socket() in many cases includes cflags ldflags presents select/ In reality, select() has nothing to do with sockets, but fds; there may be systems supporting select() but not supporting socket() includes cflags ldflags presents poll/ Much less standard than select() includes cflags ldflags presents socketpair/ includes cflags ldflags presents closesocket/ on win32, this is the preferred way of closing sockets over close() on them presents fionbio/ presents whether FIONBIO with socket ioctl is used to set socket nonblocking ioctl/ ioctl call name for socket ioctl() presents whether there is a socket ioctl() at all lac/ presents if listen()-accept()-connect() is accessible (tested on IPv4/TCP) includes cflags ldflags recvsend/ presents true if recv() and send() are supported includes cflags ldflags readwrite/ presents true if read() and write() work on sockets includes cflags ldflags SHUT/ presents true if SHUT_RD, SHUT_WR and SHUT_RDWR are all accessible on the system includes cflags ldflags shutdown/ presents whether shutdown(2) is available includes cflags ldflags fstools/ cp - [find_fstools_cp] shell command for recursive copy ln - [find_fstools_ln] shell command for symlink mv - [find_fstools_mv] shell command for move rm - [find_fstools_rm] shell command for remove mkdir - [find_fstools_mkdir] shell command for recursive mkdir ar - [find_fstools_ar] shell command for handling archives ranlib - [find_fstools_ranlib] shell command for indexing archives awk - [find_fstools_awk] awk with gsub chmodx - [find_fstools_chmodx] shell command for marking a file executable sys/ - system specific settings emulator - default emulator program for crosscompilation tmp - temp dir; a directory where we can create directories, store outputs, even executables path_sep - path separator (normally / or \ on windows) shell_eats_backslash- whether shell interprets the \ character (in some cases this forces us to double it, especially as path_sep on windows) ext_exe - [find_uname] file name extension (suffix) for executables ext_dynlib - [find_uname] file name extension (suffix) for dynamic libraries ext_stalib - [find_uname] file name extension (suffix) for static libraries shell - [find_shell] shell to use for running scripts shell_needs_quote - [find_shell] whether shell needs the command line quoted (may also depend on the emulator) name - name of the system (i.e. Linux, NetBSD, cygwin) class - [find_uname] system class (i.e. UNIX, win32dlc) uname - [find_uname] system's uname - don't rely on this^1 ptrwidth - [find_sys_ptr_width] width of pointers byte_order - [find_sys_byte_order] "LSB" or "MSB" (for LSB-first or MSB-first hosts) size_t/ include - [find_sys_size_t] include token broken - [find_sys_size_t] true if sizeof(size_t) != sizeof(void *) -------------------------------------------------------------------------------- Footnotes: ^1 don't rely on sys/uname because it's acquired only when necessary. In some situation it's even impossible to get, for example for the target system in crosscompilation. Use primarily sys/class instead.