DragonFly On-Line Manual Pages
MKCONFIGURE(1) DragonFly General Commands Manual MKCONFIGURE(1)
NAME
mkconfigure - Compile BSDBuild configure scripts
SYNOPSIS
mkconfigure
DESCRIPTION
The mkconfigure program reads a configure.in source from the standard
input and outputs a valid Bourne configure script to the standard output.
The configure.in source can contain a number of special directives, along
with Bourne shell code fragments that will be copied verbatim to the
configure script. Long lines in the input script can be broken with end-
of-line backslash (\) characters.
MKCONFIGURE DIRECTIVES
mkconfigure directives are case-insensitive. The following directives
are recognized:
PACKAGE(name) Short name for the software
package.
VERSION(string) Specify software version.
RELEASE(string) Specify release name.
CHECK(package[,version[,prefix]]) Invoke one of the standard BSDBuild
tests (see the BSDBuild website for
a list). Most tests will set the
HAVE_FOO (where FOO is the package
name in upper-case) variable to
indicate the results of the test.
C/C++ libraries also typically set
FOO_CFLAGS and FOO_LIBS.
If the optional version argument is
specified, the version number is
verified as well and MK_VERSION_OK
is defined to `yes' if the versions
are compatible. A version argument
of 0 indicates that no version
checking should be done.
If the optional prefix argument is
defined, the test will look for the
package only under the specified
prefix, and the test will fail if
it cannot be found under it. This
is typically set to
`${prefix_foo},' which returns the
value in `--enable-foo=VALUE' or
`--with-foo=VALUE' options.
REQUIRE(package[,version[,prefix]]) Same as the CHECK directive, except
that the configure script will fail
if the package is either not found,
or if the version is too old.
TEST_DIR(path) Specify an extra directory in which
to search for BSDBuild test modules
(.pm files).
REGISTER(name,descr) Describe a configure script
argument (for --help). The name
argument is usually of the form
--with-foo or --enable-foo), and
descr is a description of the
option (it is also customary to
mention the default value of this
option in the description).
REGISTER_SECTION(string) Describe a section of configure
script arguments (for --help).
HDEFINE(opt,val) Define a C preprocessor style
header option. opt is an unquoted,
usually upper-case string and val
is a string enclosed in double
quotes. For example, if opt is
`ENABLE_FOO', a file
config/enable_foo.h will be
generated by configure.
HDEFINE_UNQUOTED(opt,val) Same as HDEFINE(), except that the
value is left unquoted.
HUNDEF(opt) Similar to HDEFINE, except that
config/<option>.h will contain an
#undef directive.
MDEFINE(opt,val) Define a make(1) variable, which
will be visible in the project's
makefiles. opt is again an
unquoted, usually upper-case string
and val is a value enclosed in
double quotes.
MAPPEND(opt,val) Same effect as MDEFINE(), except
that the value is appended to the
variable (following a space).
C_DEFINE(opt) (C-style compilers only) Specify a
global define that will be passed
to the compiler. This results in
the -DFOO flag being used in
compiler command lines, but it is
also interpreted by
build.proj.mk(5).
C_INCDIR(dir) (C-style compilers only) Specify a
directory for include files. This
results in the -Idir flag being
added to the compiler command line,
but it is also interpreted by
build.proj.mk(5).
C_INCDIR_CONFIG(dir) (C-style compilers only) Specify a
target directory for individual
include files with configure-script
generated statements (i.e.,
HAVE_FOO is written to have_foo.h
in the specified directory). Pass
an empty argument to disable. By
default, ./config is used. This
directive should be only called
once, and may be placed anywhere in
configure.in.
C_INCLUDE_CONFIG(file) (C-style compilers only) Specify a
monolithic C include file which
will contain configure-script
generated statements (i.e.,
HAVE_FOO defines). Pass an empty
argument to disable (default).
This directive should be only
called once, and may be placed
anywhere in configure.in.
C_INCPREP(dir) (C-style compilers only) Specify
absolute path to directory which
will contain include files. The
configure script provides the user
with the option of either
generating preprocessed header
files into this directory
(--includes=yes, the default), or
create a set of symbolic links to
the original include files in the
source directory (--includes=link).
C_OPTION Provide a gcc-style compiler
option, such as -Wall, -Werror or
-Wmissing-prototypes. For
environments using other compilers,
BSDBuild will attempt to set
equivalent options.
LD_OPTION Provide a ld-style linker option,
such as -g or -nostdlib.
C_EXTRA_WARNINGS Request extra compiler warnings.
The exact meaning is compiler
specific.
C_FATAL_WARNINGS Request that compilation fail if
warnings are encountered.
CONFIG_SCRIPT(name[,args]) Generate a standard "foo-config"
script. name specifies the name of
the script. For C/C++ style
packages, the arguments are usually
the `--cflags' output, followed by
the `--libs' output.
CONFIG_CACHE(yes|no) Enable support for caching of test
results (./configure --cache
option). By default, caching is
disabled.
CONFIG_GUESS(path) Specify an alternate path to
config.guess (default is
mk/config.guess).
CHECK_HEADER(header[, ...]) Check whether one or more header
files are available under the
current C/C++ compiler settings.
If a header file such as sys/foo.h
is found, HAVE_SYS_FOO_H is
defined.
CHECK_HEADER_OPTS(cflags, libs, header[, ...])
Same as CHECK_HEADER(), except that
the headers are tested using the
provided CFLAGS and LIBS.
CHECK_FUNC(foofunction[, ...]) Check for the existence of one or
more functions. If a function
foofunction() is found,
HAVE_FUNCTION_NAME is defined.
CHECK_FUNC_OPTS(cflags, libs, foofunction[, ...])
Same as CHECK_FUNCTION(), except
that the function is tested using
the provided CFLAGS and LIBS.
CHECK_PERL_MODULE(modulename) Check that the specified Perl
module is installed and
functioning. For example, if
modulename is "Time::Zone", the
macro will set the variable
"HAVE_TIME_ZONE" accordingly.
REQUIRE_PERL_MODULE(modulename) Same as CHECK_PERL_MODULE, except
that the configure script will
abort if the module is not found.
DEFAULT_DIR(dirname, path) Override one of the standard
installation path defaults. The
dirname argument may be one of:
PREFIX, BINDIR, LIBDIR, LIBEXECDIR,
DATADIR, STATEDIR, SYSCONFDIR,
LOCALEDIR or MANDIR.
SEE ALSO
build.common.mk(5), build.lib.mk(5), build.prog.mk(5)
http://hypertriton.com/bsdbuild/
DragonFly 6.5-DEVELOPMENT July 19, 2007 DragonFly 6.5-DEVELOPMENT