Path to this page:
Subject: CVS commit: wip/mk-configure
From: Aleksey Cheusov
Date: 2009-09-05 15:50:43
Message id: E1MjvfO-0004lA-M1@ddv4jf1.ch3.sourceforge.com
Log Message:
updated to 0.11.0
Major changes:
mk-configure(7)
Simon Gerrary's mk-files is not supported anymore.
Use pkgsrc mk-files!
Regression tests have been reorganized and significantly improved.
All examples become regression tests. Lots of new tests.
Run 'bmake test' to run them.
mk-configure uses its own mkc.*.mk scripts to build and install
itself. As a result Free/OpenBSD make cannot be used anymore for
building and installations. Use bmake!
ADDED: FAQ document to answer frequently asked questions.
Thanks to Michael Shigorin for corrections.
New simple module for regression tests: mkc.minitest.mk. Besides
its simplicity it is quite useful. mk-configure uses it for testing
itself.
Initial version of mkc.pkg-config.mk module
See examples/hello_glib2 for the sample of use.
Note that it is not complete yet.
mkc.configure.mk and configure.mk:
- checks are not run if appropriate HAVE_xxx.yyy variable is
already defined. This makes possible to effectively build
software in a well defined stable environment.
Ex: bmake -f predefined_settings.mk -f Makefile all
- ADDED: MKC_CHECK_TYPES for checking for types.
See the documentation in configure.mk.in and examples/.
- ADDED: MKC_CHECK_CUSTOM for custom user's checks.
Custom check is a user's code.
Check itself -- is this code compilable or not.
See the documentation in configure.mk.in and examples/.
- Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix
is not hardcoded. This gives an ability to check members in
struct-s, enum-s and typedef-s.
- NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS,
MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS,
MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and
MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits
with error and prints an error message. See configure.mk.in
for the documentation and examples/ for the samples of use.
- NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS.
See configure.mk.in for the documentation and
examples/ for the samples of use.
- NEW: targets "distclean" and "cleandir" removes \
_mkc_* cache files.
- NEW: target "configure" runs all checks
and creates _mkc_ cache files.
- all checks are disabled for targets "clean", \
"cleandir" and
"distclean".
- Cache file names changed. Now they are:
_mkc_type_<type>, _mkc_sizeof_<type>, \
_mkc_header_<header>,
_mkc_funclib_<funclib>, _mkc_funcN_<func>,
_mkc_variable_<variable>, _mkc_custom_<custom-check>,
_mkc_prog_<progname>, _mkc_define_<define>, \
_mkc_member_<member>
mkc.info.mk and mkc.man.mk are removed. They are included automatically
from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed.
mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk:
- NEW: target "uninstall" is supported.
- performance improvements. "Hard" sections of mkc.common.mk are
activated if and only if appropriate target is in action.
- FIX: target "install-dirs" now works correctly with MAN
containing .N pages where N is not 1.
- FIX: target "install-dirs" now takes into account LINKS and
SYMLINKS.
- Better support for TEXINFO:
- "uninstall" target takes TEXINFO into account.
- "clean" target removes generated .info files.
- mkc.{prog,lib,files}.mk supports a target "test". By default
it does nothing. The target "test" of mkc.subdir.mk runs
'bmake test' for each SUBDIR. If you want to define your own
"test" target overriding the default one, define it in your
project's Makefile before any .include <mkc.*.mk> directive.
- MKC_REQD variable
Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT
files are also installed unless EXTRAFILES is set to an empty string.
"mkc_check_sizeof" and "mkc_check_decl type" don't create cache
files with spaces in its name anymore. Space inside a filename is
replaced with symbol ~ (tilde).
FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib,
mkc_check_header and mkc_check_sizeof failed if CC contains space.
Thanks to Vitaly Lipatov for the report.
mkc_check_sizeof now works drammatically faster.
MKHTML defaults to "no".
mkc_check_sizeof, mkc_check_custom:
- fixes for problems with Solaris' /bin/sh
Other fixes and improvements.
Files: