2009-05-31  Aleksey Cheusov <vle@gmx.net>

  * Makefile, NEWS:
  version -> 0.10.0,
     tested under NetBSD/x86, NetBSD/alpha, Linux/x86,
     FreeBSD/x86 and Solaris/x86
  Release notes.

  * mkc.common.mk:
  Further fixed: MKHTML vs. install-dirs, bsd.own.mk, double inclusion etc.

  * mkc.common.mk:
  DPLIBS code has been moved to the outside of MKC_COMMON_MK guard

  * mkc.common.mk:
  Guard against multiplre inclusion
  bsd.own.mk is included

  * mkc.configure.mk: also include mkc.common.mk

  * mkc.common.mk:
  install-dirs target also supports bsd.info.mk

  * mkc.common.mk: MKHTML defaults to no

  * mkc.common.mk:
  install-dirs conditionally creates ${HTMLDIR}/html${suff}

  * Makefile: MKHTML is not set

  * Makefile: checks for MKHTML

  * Makefile: MKHTML is set to NO

  * Makefile: more file for CLEANFILES

2009-05-29  Aleksey Cheusov <vle@gmx.net>

  * NEWS: notes about mk-configure-0.10.0

  * examples/3/hello/Makefile: LDADD -> DPLIBS

2009-05-20  Aleksey Cheusov <vle@gmx.net>

  * mkc_check_decl:
  workaround for buggy FreeBSD /bin/sh and ksh

2009-05-17  Aleksey Cheusov <vle@gmx.net>

  * README: minor changes

2009-05-14  Aleksey Cheusov <vle@gmx.net>

  * Makefile.test, tests/mkc_test.mk, tests/test.sh:
  Makefile.test has been moved to tests/mkc_test.mk

  * Makefile.test, configure.mk.in, tests/mkc_test.h, tests/test.out, tests/test.sh:
  More regression tests!
  Fix: HAVE_FUNCN.funcname.dir.header_h -> HAVE_FUNCN.funcname.dir_header_h
  Support for HAVE_VAR.varname.dir_header_h (dir/header.h!)
  Support for HAVE_DEFINE.defname.dir_header.h (dir/header.h!)

  * Makefile.test, README, tests/test.out:
  Another test, portable accross NetBSD and Linux

  * configure.mk.in: fix for previous commit

  * configure.mk.in: support for MKC_CHECK_MEMBERS

  * Makefile.test, mkc_check_decl, mkc_check_decl.1, tests/test.out:
  Support for MKC_CHECK_MEMBERS, mechanism for checking
      for structure members. Regression tests for this new feature.
      Man page update for mkc_check_decl.

  * Makefile.test, tests/test.out:
  Regression tests for MKC_COMMON_DEFINES[.`uname -s`]

  * mkc.common.mk: another fix in install-dirs target

  * mkc.common.mk: fix in install-dirs for previous commit

  * mkc.common.mk:
  install-dirs: directories are sort_uniq'ed before creating

  * mkc.common.mk:
  -L${DPLIBDIRS.${_dir}} is added to LDADD, not to LDFLAGS. This is because
     bsd.lib.mk rules arebuilt this way :-/
  New variable for linking DPLIBS, use it instead of modifying LDADD directly

  * mkc.common.mk:
  fixes for install-dirs: FILESDIR_<file> is handled correctly

  * mkc.subdir.mk: fix (missed ${.CURDIR})

2009-05-13  Aleksey Cheusov <vle@gmx.net>

  * mkc.subdir.mk: install-dirs calls install-dirs for all SUBDIR

  * mkc.common.mk:
  mkc_printobjdir is outside NOMKC_DPLIBS section
  added: print-values target

2009-03-30  Aleksey Cheusov <vle@gmx.net>

  * examples/4/strlcpy.c: added missed #include <string.h>

2009-03-29  Aleksey Cheusov <vle@gmx.net>

  * configure.mk.in:
  FIX: LDFLAGS, LDADD, CFLAGS etc. are kept in _MKC_XXX variables

  * mkc.common.mk:
  fix in NOMKC_PATHS section: s/FILES/FILESDIR/

  * Makefile, NEWS: version -> 0.9.0

  * README: notes about feedback

  * TODO: lots of TODO items were successfully implemented

  * README: docs about FreeBSD, OpenBSD and GNU make

  * README: notes about mkc.common.mk

  * Makefile, _mkc.common.mk, mkc.common.mk, mkc.files.mk, mkc.info.mk, mkc.lib.mk, mkc.man.mk, mkc.own.mk, mkc.prog.mk, mkc.subdir.mk:
  _mkc.common.mk renamed to mkc.common.mk and becomes a part of public API.

  * NEWS, README:
  Lots of new documentation

  * _mkc.common.mk: -L should be added to LDFLAGS, not to LDADD

  * mkc.files.mk, mkc.info.mk, mkc.intexts.mk, mkc.lib.mk, mkc.man.mk, mkc.own.mk, mkc.prog.mk, mkc.subdir.mk, mkc.configure.mk:
  lisense text and documentation

  * examples/8/Makefile: fixes for latest configure.mk  changes

  * examples/8/Makefile, EXAMPLE.Makefile:
  Move EXAMPLE.Makefile to examples/8/

  * examples/7/Makefile, examples/7/compiler_test.c:
  New example

  * examples/5/Makefile, examples/5/dlopen_test.c, examples/6/Makefile, examples/6/sizeof_test.c:
  More tests

  * examples/4/Makefile, examples/4/hello.c, examples/4/strlcpy.c:
  One more example

  * examples/1/Makefile, examples/1/hello_world.c, examples/2/Makefile, examples/2/hello_world.1, examples/2/hello_world2, examples/2/hello_world3, examples/2/main.c, examples/2/msg.c, examples/3/Makefile, examples/3/Makefile.version, examples/3/hello/Makefile, examples/3/hello/hello_world.1.in, examples/3/hello/hello_world2.in, examples/3/hello/main.c, examples/3/libhello1/Makefile, examples/3/libhello1/hello1.c, examples/3/libhello1/hello1.h, examples/3/libhello1/linkme.mk, examples/3/libhello2/Makefile, examples/3/libhello2/hello2.cc, examples/3/libhello2/include/hello2.h, examples/3/libhello2/linkme.mk:
  lots of examples about how to use MKC!

  * mkc.intexts.mk:
  0644 and 0755 instead of read-only NONBINMODE(444) and BINMODE(555)

  * _mkc.common.mk: incomplete code for install-dirs

2009-03-28  Aleksey Cheusov <vle@gmx.net>

  * mkc.intexts.mk, Makefile:
  My own module: mkc.intexts.mk for converting xx.in files and scripts to xx
  replacing @bindir@ etc. with real strings. List of them are changable by
  INTEXTS_SED variable. See also INFILES and INSCRIPTS.

  * _mkc.common.mk:
  XXXOWN and XXXGRP are assigned to current uid and gid if uid!=0
  Now 'install' target REALLY installs INCS

  * _mkc.common.mk:
  'make install' also installs include files mentioned in INCS
  .ifndef for DPLIBDIRS.dir

  * _mkc.common.mk:
  MKCDPDATA is replaced with easier DPLIBDIRS

  * _mkc.common.mk: s/MKCDPLIBS/MKC_DPLIBS/

  * Makefile, mkc.files.mk, mkc.info.mk, mkc.lib.mk, mkc.man.mk, mkc.own.mk, mkc.prog.mk, mkc.subdir.mk:
  new file mkc.own.mk
  MKC_NOBSDMK set YES cause bmake to use Simon Gerraty's
     xxx.mk files (without bsd. prefix)

  * mkc_check_common.sh: FIX: missed cache.exe file

  * _mkc.common.mk:
  Use the following code in program's and library's Makefile to link it
  against external library.

      MKCDPLIBS+= ExtLib ../path/to/libExtLib
      .include <mkc.{prog,lib}.mk>

  Renamings: NOMKC_ATALL, NOMKC_PERMS, NOMKC_PATHS

2009-03-27  Aleksey Cheusov <vle@gmx.net>

  * Makefile, configure.mk.in:
  MKC_SHELL is currently disabled
  _mkc_check_common.sh is also installed

  * Makefile: version -> 0.8beta1

  * mkc_check_decl, mkc_check_funclib, mkc_check_header, mkc_check_sizeof, mkc_check_common.sh:
  mkc_check_common.sh - common variables and functions for mkc_check_xxx
  executables

  * Makefile: remove debugging code

  * _mkc.common.mk:  I forget to add it

  * Makefile, configure.mk.in, mkc.common.mk, mkc.files.mk, mkc.info.mk, mkc.lib.mk, mkc.man.mk, mkc.prog.mk, mkc.subdir.mk:
  Fixes
  version -> 0.8.0
  remove unnecessary files

  * mkc.lib.mk, mkc.man.mk, mkc.prog.mk, mkc.subdir.mk, mkc.info.mk, mkc.files.mk, mkc.configure.mk:
  Similar to bsd.*.mk but with some pre-actions

  * configure.mk.in:
  /1 remove. I should read manual page carefully! :-/

2009-03-26  Aleksey Cheusov <vle@gmx.net>

  * Makefile.test, configure.mk.in, tests/test.out:
  fix for MKC_SOURCE_FUNCLIBS
  More regression tests

  * Makefile.test, configure.mk.in, tests/test.out:
  Failed CHECK_SIZEOF_xxx checks do not change MKC_CFLAGS
  More regression tests

  * Makefile.test, tests/test.out:
  More fixes for "failed tests"

  * configure.mk.in: documentation changes in SIZEOF.xxx section

  * Makefile, Makefile.test, tests/test.out:
  'make test' works correctly now

2009-03-25  Aleksey Cheusov <vle@gmx.net>

  * configure.mk.in, tests/test.out:
  In case of MKC_CHECK_SIZEOF+=type:header.h
      SIZEOF.<type>.<header_h> is generated
      instead of plain SIZEOF.<type>

  * Makefile: fix

  * configure.mk.in:
  MKC_CHECK_HEADERS:
      HAVE_HEADER.dir.header_h is renamed to
      HAVE_HEADER.dir_header_h.

      I hope this is last change in API.

  SIZEOF.<type>:
      fix: SIZEOF.long_long was not set correctly (long-long)

  MKC_COMMON_DEFINES are added CPPFLAGS environment of mkc_xxx executable

  * mkc_check_decl, mkc_check_sizeof:
  Do not use MKC_COMMON_DEFINES environment variable.
      Defines should be listed in CFLAGS

  * Makefile, tests/test.out, tests/test.sh: regression tests

2009-03-20  Aleksey Cheusov <vle@gmx.net>

  * configure.mk.in:
  s/return/exit/ in ${.OBJDIR}/.error-check section.
      This bug is seen under Linux.

  * mkc.common.mk, mkc.prog.mk:
  initial incomplete code

  * EXAMPLE.configure, mkc_configure: initial versions for Shell support

2009-03-15  Aleksey Cheusov <vle@gmx.net>

  * NEWS: release notes for 0.7.0

  * configure.mk.in: documentation for MKC_DELETE_TMPFILES

  * mkc_check_decl, mkc_check_decl.1, mkc_check_funclib, mkc_check_funclib.1, mkc_check_header, mkc_check_header.1, mkc_check_sizeof, mkc_check_sizeof.1:
  MKC_NOCACHE: 1 - true, other values - false

  * mkc_check_decl.1, mkc_check_funclib.1, mkc_check_header.1, mkc_check_sizeof.1:
  MKC_DELETE_TMPFILES: 1 - true, other values - false

  * mkc_check_decl, mkc_check_decl.1, mkc_check_funclib, mkc_check_funclib.1, mkc_check_header, mkc_check_header.1, mkc_check_sizeof, mkc_check_sizeof.1:
  MKC_VERBOSE: 1 - true, other values - false

  * mkc_check_decl.1, mkc_check_funclib.1, mkc_check_header.1, mkc_check_sizeof.1:
  MKC_SHOW_CACHED are documented in man pages

  * mkc_check_decl, mkc_check_funclib, mkc_check_header, mkc_check_sizeof:
  MKC_SHOW_CACHED: 1 - true, otherwise - false

  * mkc_check_decl, mkc_check_funclib, mkc_check_header, mkc_check_sizeof:
  fixed: MKC_SHOW_CACHED broken by previous commits
  MKC_SHOW_CACHED: <non-empty> - true, <empty> - false

  * TODO: one task done

  * mkc_check_decl.1, mkc_check_funclib.1, mkc_check_header.1, mkc_check_sizeof.1:
  CPPFLAGS, CFLAGS, LDFLAGS, LDADD, PKG_VERBOSE and MKC_COMMON_HEADERS are
      also documented

  * Makefile, mkc_check_decl.1, mkc_check_funclib.1, mkc_check_header.1, mkc_check_sizeof.1:
  Every script have a man page now

  * TODO: new task

  * README: Moooore information

  * mkc_check_funclib, mkc_check_sizeof:
  added: -h|--help options printing usage message

  * mkc_check_header: added: -h|--help option printing usage message

  * mkc_check_decl:
  added: -h|--help options that prints usage information
  fix: long-long is treated as 'long long', i.e. `-' -> SPC

  * configure.mk.in, mkc_check_decl, mkc_check_funclib, mkc_check_header, mkc_check_sizeof:
  mkc_check_xxx scripts: if MKC_VERBOSE variable is empty or unset, verbose
  messages are not output to stderr.

  * Makefile, configure.mk.in:
  mkc_check_xxx scripts are installed to bin/ directory

2009-03-14  Aleksey Cheusov <vle@gmx.net>

  * Makefile: fake target test

2009-03-12  Aleksey Cheusov <vle@gmx.net>

  * mkc_check_decl, mkc_check_funclib, mkc_check_header, mkc_check_sizeof, configure.mk.in:
  added: MKC_NOCACHE variable, if set to not empty string,
      caching is disabled

  * configure.mk.in:
  Documentation update for "no -DHAVE_XXX=0 anymore"

2009-03-10  Aleksey Cheusov <vle@gmx.net>

  * EXAMPLE.Makefile:
  More simple examples

  * configure.mk.in:
  No CFLAGS+=-DHAVE_XXXX=0 anymore, if XXX is not found
  it is just not defined at all.

2009-03-08  Aleksey Cheusov <vle@gmx.net>

  * NEWS: time

  * TODO: new task in TODO

  * Makefile: CLEANFILES looks much better that clean-local target

  * Makefile, NEWS, README, TODO:
  Version -> 0.6.0
  Release notes in NEWS
  Lots of new tasks in TODO
  Minor changes in README

  * configure.mk.in:
  added: MKC_SHELL variable defaulting to /bin/sh, mkc_check_XXX scripts are
      run with with this shell.

  * mkc_check_decl:
  fixed: bug seen on heirloom-sh (and probably Solaris's /bin/sh)

  * mkc_check_decl, mkc_check_funclib, mkc_check_header, mkc_check_sizeof:
  "checking for..." messages is sent to stderr before result is calculated

  * EXAMPLE.Makefile, configure.mk.in:
  MKC_FUNCLIBS_NOAUTO.ftime.compat is replaced with MKC_NOAUTO_FUNCLIBS list.

     Ex.:
       MKC_NOAUTO_FUNCLIBS += ftime:compat crypt:crypt
       MKC_NOAUTO_FUNCLIBS = 1 # for disabling all potential LDADD += ...

2009-03-02  Aleksey Cheusov <vle@gmx.net>

  * Makefile: version -> 0.5.0

  * NEWS, README, configure.mk.in: more docs and NEWS

  * TODO, configure.mk.in: documentation

  * EXAMPLE.Makefile: Example for __GNUC__ define

  * configure.mk.in:
  !DOCUMENTATION!
  HAVE_<HEADER_H> ---> HAVE_HEADER_<HEADER_H>
  Fix in MKC_CHECK_FUNCS (subdir/header.h case)

  * TODO: tasks

  * README, configure.mk.in: documentation

  * mkc_check_decl, mkc_check_funclib, mkc_check_header, mkc_check_sizeof:
  comments and minor code clean-ups

  * mkc_check_decl: more consistent intermediate/cache filenames

  * TODO: updated

  * mkc_check_funclib, mkc_check_header:
  more consistent names of intermediate/cache files

  * EXAMPLE.Makefile, configure.mk.in: New user settable variable: MKC_NOAUTO

  * configure.mk.in: dead code (comments)

  * TODO, configure.mk.in:
  MKC_CFLAGS, MKC_SRCS and MKC_LDADD were introduced

  * configure.mk.in, mkc_check_decl: _var ---> _variable

  * EXAMPLE.Makefile, configure.mk.in:
  MKC_SOURCE_FUNCLIBS - adds function.c to SRCS if function is absent in the
  specified librar[y|ies].

  * EXAMPLE.Makefile, configure.mk.in, mkc_check_decl, mkc_check_sizeof:
  Another mega variable for users: MKC_COMMON_DEFINES

  * EXAMPLE.Makefile, configure.mk.in, mkc_check_decl, mkc_check_sizeof:
  MKC_COMMON_HEADERS: new user settable variable

  * configure.mk.in, mkc_check_func, mkc_check_funclib:
  mkc_check_func renamed to mkc_check_funclib

  * Makefile: added: mkc_check_decl

  * EXAMPLE.Makefile: better examples

  * configure.mk.in: fix in MKC_CHECK_FUNCS<NNN>

  * mkc_check_decl: fixed: checking for function declaration

  * TODO: tasks

  * EXAMPLE.Makefile, configure.mk.in:
  FUNCLIBS_NOAUTO -> MKC_FUNCLIBS_NOAUTO

  * EXAMPLE.Makefile: gettimeofday/ftime example

  * EXAMPLE.Makefile: easier examples

2009-03-01  Aleksey Cheusov <vle@gmx.net>

  * EXAMPLE.Makefile, configure.mk.in:
  New user defined variables: FUNCLIBS_NOAUTO.func.lib and
      FUNCLIBS_NOAUTO

  * EXAMPLE.Makefile, configure.mk.in:
  LDADD is modified automagically if appropriate library was found,
     currently unconditionally.

  * configure.mk.in: fixed: missed quotes around LDADD, LDFLAGS, CFLAGS etc.

  * EXAMPLE.Makefile: new simple example

  * mkc_check_func: fix

  * EXAMPLE.Makefile, configure.mk.in:
  MKC_CHECK_FUNCLIBS: For every "func:lib" the "function" (without linking
  it with "lib") is also checked.

  * EXAMPLE.Makefile, configure.mk.in:
  .include <bsd.own.mk> ====> user's code, he can set CC himself

  * EXAMPLE.Makefile, configure.mk.in: ERR_MSG renamed to MKC_ERR_MSG

  * EXAMPLE.Makefile, configure.mk.in:
  removed: MKC_CHECK_SIZEOF_INCS, new syntax is supertype_t:header.h

  * EXAMPLE.Makefile, configure.mk.in:
  More renamings, now #defines and make variables have better names

  * EXAMPLE.Makefile, configure.mk.in:
  MKC_{HEADERS,FUNCS,VARS,DEFINES,SIZEOF} has been renamed to MKC_CHECK_*

  * configure.mk.in: comments

  * configure.mk.in:
  Clean-ups, I don't like brainfuck

  * EXAMPLE.Makefile, configure.mk.in:
  An implementation for HAVE_FUNC${n}
  One simple example

  * EXAMPLE.Makefile, configure.mk.in:
  Implementation for MKC_VARS
  One simple example for MKC_VARS

  * EXAMPLE.Makefile: one more example

  * mkc_check_decl: enable cache

  * EXAMPLE.Makefile, configure.mk.in:
  Implementation for MKC_DEFINES

  * mkc_check_decl: fixes and improvements

  * mkc_check_decl: further development

  * mkc_check_decl: initial version

  * mkc_check_func, mkc_check_header, mkc_check_sizeof:
  minor improvements of output (spaces)

  * EXAMPLE.Makefile, configure.mk.in, mkc_check_func:
  MKC_FUNCS uses function:library notation instead of function|-llibrary
      as it was proposed by Lev Serebryakov in fido7.ru.unix.prog
  New HAVE.function.library defines instead HAVE.function_library
      because _ can be a part of function name

  * mkc_check_func, mkc_check_header, mkc_check_sizeof:
  a few comments about usage, set -e and LC_ALL=C

  * mkc_check_func, mkc_check_header, mkc_check_sizeof:
  $() is replaced with `` which is more portable

  * configure.mk.in: clean-ups

  * configure.mk.in:
  MKC_CACHEDIR is a use defined variable

  * configure.mk.in, mkc_check_func, mkc_check_header, mkc_check_sizeof:
  New variable MKC_DELETE_TMPFILES for deleting intermediate temporary files.
  .o and .exe are removed unconditionally

  * mkc_check_header:
  CPPFLAGS and CFLAGS flags are used during compilation

  * configure.mk.in, mkc_check_func, mkc_check_header, mkc_check_sizeof:
  CACHE_DIR renamed to MKC_CACHEDIR
  fix in handling MKC_SHOW_CACHED+cached

  * mkc_check_sizeof, mkc_check_func, mkc_check_header: clean-ups

  * mkc_check_sizeof, mkc_check_func: support for MKC_SHOW_CACHED

  * mkc_check_func, mkc_check_sizeof:
  CACHE_DIR environment variable defaults to "."
  CC defaults to "cc".

  * configure.mk.in, mkc_check_header:
  default, 'Checking for ... (yes|no)' lines are always output. This may be
  annoying during development. To fix this MKC_SHOW_CACHED variable is
  introduced. Set it to 0 to hide showing cached results.

2009-02-21  Aleksey Cheusov <vle@gmx.net>

  * Makefile: PROJECTNAME added

  * NEWS: change release time

  * Makefile: fix (Linux)

  * EXAMPLE.Makefile, configure.mk.in: renamings (_CHECK removed)

  * configure.mk.in: debugging code removed

  * EXAMPLE.Makefile, README:
  new file EXAMPLE.Makefile mentioned in README

  * NEWS: initial version

  * Makefile: BD:  2009-02-21

  * Makefile, README:
  'make install' creates the destination directories.
  Initial/minimal README.

  * Makefile: fix

  * Makefile, configure.mk, configure.mk.in:
  executables are installed to ${PREFIX}/libexec/mkc directory
  Resulting configure.mk contains version and path to ${PREFIX}/libexec/mkc

  * Makefile, configure.mk, mk-configure_check_func, mk-configure_check_header, mk-configure_check_sizeof, mkc_check_func, mkc_check_header, mkc_check_sizeof:
  mk-configure-* renamed to mkc-*

  * configure.mk: incls -> incs

  * configure.mk, mk-configure_check_sizeof:
  extra includes are allowed for checking a sizeof

  * configure.mk: fixes and sizeof support

  * Makefile, mk-configure_check_sizeof: support for mkc_check_sizeof

  * mk-configure_check_func, mk-configure_check_header: fixes: double quotes

  * Makefile, configure.mk, mk-configure_check_func, mk-configure_check_funcs:
  renaming

  * configure.mk, mk-configure_check_funcs, mk-configure_check_header:
  AC -> MRC renamings

  * configure.mk: error checks

  * configure.mk, mk-configure_check_funcs, mk-configure_check_header:
  clean-ups in comments

  * Makefile, configure.mk, mk-configure_check_funcs, mk-configure_check_header:
  initial version of mk-configure

  * Makefile, configure.mk, mk-configure_check_funcs, mk-configure_check_header:
  New file.

