Name

mk_chain_compiler — Chain into C/C++ component with foreign build system

Synopsis

MODULES="... chain-compiler ..."

mk_chain_compiler CONFIGURE=cfunc BUILD=bfunc

Options

HEADERS=headers

Specifies a list of header files that will be generated by the component. Each will be taken as relative to MK_INCLUDEDIR unless given as an absolute path.

LIBS=libs

Specifies libraries installed by the component. Each library should be specified as its base name with no file extension or lib prefix. Each name may be followed by a colon (:) and a version specifier as accepted by mk_library.

DLOS=dlos

Specifies dynamically-loadable objects which will be installed by the component. Since these need not be placed in the usual library directory, each should be specified as a complete path to a .la file. A version number may be attached to each as in libs.

PROGRAMS=programs

Specifies a list of program binaries which will be generated by the component. Each will be taken to be relative to MK_BINDIR unless given as an absolute path.

LIBDEPS=libdeps

Specifies libraries the component depends on

HEADERDEPS=headerdeps

Specifies headers the component depends on

CPPFLAGS=flags

Additional C preprocessor flags

CFLAGS=flags

Additional C compiler flags

CXXFLAGS=flags

Additional C++ compiler flags

LDFLAGS=flags

Additional linker flags

...

Any option supported by mk_chain_generic.

Description

Chains into a component with a foreign build system using mk_chain_generic, but supports additional features to integrate with the compiler module.

The default stage function used is mk_chain_compiler_stage. This function understands how to generate .la files for components that do not create their own. On platforms that support fat binaries, it will automatically merge binaries from separate builds.

You must still provide your own configure and build functions. If chaining into an autotools project, consider using mk_chain_autotools instead.