Rename SCRIPTSNAME to SCRIPTNAME

feature posix_getopt: use bsd_getopt from libbsd

__filesinstall target vs. .ALLSRC =>

/bin/install -c -d -m 755 /opt/pkgsrc4unix/bin /opt/pkgsrc4unix/libexec/distbb /opt/pkgsrc4unix/share/distbb /opt/pkgsrc4unix/share/doc/distbb /opt/pkgsrc4unix/share/examples/distbb /opt/pkgsrc4unix/share/runawk
/bin/install  -c  -o root  -g root  -m 644  TUTORIAL.html /opt/pkgsrc4unix/share/doc/distbb/TUTORIAL.pod /opt/pkgsrc4unix/share/doc/distbb/TUTORIAL.html
/bin/install: target '/opt/pkgsrc4unix/share/doc/distbb/TUTORIAL.html' is not a directory

============================================================
USE_LEX and USE_LEXLIB -- default LEX and LEXLIB

============================================================
If checking for compiler fails, remove .res files

   cheusov@illumos 
   1 dictd>git status --ignored
   On branch master
   Your branch is up to date with 'origin/master'.

   Ignored files:
     (use "git add -f <file>..." to include in what will be committed)
        _mkc_cc_type.err
        _mkc_cc_type.res

   nothing to commit, working tree clean

   cheusov@illumos 
   0 dictd>cat _mkc_cc_type.res
   unknown i86pc-unknown-SunOS

   cheusov@illumos 
   0 dictd>cat _mkc_cc_type.err 
   /opt/local/bin/mkc_check_compiler: line 78: cc: not found

   cheusov@illumos 
   0 dictd>

============================================================
SUBPRJ_DFLT vs. LIB, see libmaa,
try to set environment SUBPRJ_DFLT

============================================================
It seems virtual targets do not work
if they not a part of SUBPRJ_DFLT.
See libmaa target test

============================================================
move feature signalname from nbase to mk-configure

============================================================
MKC_CHECK_FUNCLIBS: check in libc and if found,
skip foreign library.

============================================================
Use flock/shlock/etc for parallalizing mkcmake configure

============================================================
Recheck the order of dependencies in LIBDEPS.
The order does matter and influences on -l options.

============================================================
Linker options like -Wl,-E --version-script etc.
should be checked as a part of mk-configure compilation time.
tcc, for example, does not have --version-script on gnuld
systems.

============================================================
export.sym:
 * cpp-preprocessing

============================================================
New feature reallocarr from nbase800

============================================================
feature efun: new function ereallocarr

============================================================
progname feature: should provide __progname extern variable

============================================================
Checks for attributes ===> mkc_imp.{cc,cxx}_xxx.mk

============================================================
Feature "macro" -- macro restrict/__restrict?

============================================================
MKC_REQUIRE_PKGCONFIG - make sure _mkc_ files are deleted
when this check fails.

============================================================
New rules for .by (bison without -y option)

============================================================
Add new feature for glibc-style defines
__wur and __deprecated

============================================================
Add new feature for define restrict (C99 etc.)





############################################################
PLAN 0.39.0:

  - Implement mkc_imp.libtool.mk to build
    the shared libraries using GNU libtool(1).

  - add support for pkg-config aware projects, i.e., projects
    that provide .pc files





############################################################
PLAN REST:

============================================================
More efun features: e{read,write,setenv} from FreeBSD

============================================================
Add recursive lint and ctags (by David Young) targets

============================================================
SHRTOUT -- set -x and redirect everything to temporary
log file and print it only if the target fails?

============================================================
Tests for MCOMPRESS?

============================================================
MKC_PATH environment variable for mkcmake(1)
and mkc_compiler_settings(1)

============================================================
OBJDIR_* and SRCDIR_* variable should be available
after mkc.init.mk and initialized again in mkc.mk

============================================================
LDFLAGS.check

============================================================
markdown to html rules

============================================================
Add new feature for NetBSD-style defines
__packed, __section, __restrict,
__sysloglike, __scanflike, __format_arg

and glibc-style define __nonnull

============================================================
Add feature "alloca"

============================================================
FAQ for users who see mk-configure for the first time and want to
build project with a help of mk-c.

============================================================
New feature "path_max" for detecting PATH_MAX from getconf
or from define (if exists). This is issue #7

============================================================
INCS generated by INTEXTS

============================================================
Plan 0.28.0

- test for "inline" keyword
- test for CCLD option
- bzero, bcopy

- Hide regression tests details
- "bmake -k regrtest/check" (mkc.minitest.mk?)

- Special marker for checks that cannot be possible in cross-compiling

- regression tests without garbage, make it look like paexec

Some thoughts inspired by talks with Michael Crogan

- MKASNEEDED=yes => ld --as-needed

- _mkc_done_<prj>_<trg>

- project "roundup" for testing 

- "configure" tests should be run in parallel. Something
  like shlock(1) or flock(1) is needed for this.
- Additional examples/ is needed for
  triggering rebuild of subproject if "something" was rebuild in
  another subproject (build script for example).
- Interdependencies between targetX-subprjA and targetY-subprjB (for
  example all-prject1 and install-prject2). Maybe this is cool idea
  for examples/ and slides. I need some good example for this.
  <<<depend-project1:errorcheck-autotools_based_project2>>>!!!
- Steal cool features from Simon Gerraty's mk files and analyse
  "meta mode" he invented.

- Some "targets" from TARGETS should set MKCHECKS to "no"

- ronn(1) : markdown to man pages

  custom test failed -> exit status of mkcmake should not be zero
  MKC_CUSTOM_ERR.qqqq -> error message before exiting just like 

-  New variable MKC_CUSTOM_ENV.xxx

- BINSUBDIR, LIBSUBDIR, LIBEXECSUBDIR etc...

- USE_RPATH

- Regression tests:
  * optional(!) glib2 tests

============================================================
Plan 1)

  - Support for MKDEBUG like in NetBSD mk files
  - .lua.luac:

============================================================
Plan 2)

  - ./configure written in shell?
  - EXPORT_DYNAMIC_SYMBOLS - add the specified symbols to
    dynamic symbol table (GNU ld)
  - EXPORT_SYMBOLS_REGEXP

  - Syllable, Haiku, OpenServer/UnixWare and HURD
  - lcc and tcc compilers
  - epm -> rpm, SVR4 pkg etc.
  - mkc_imp.filelist.mk
    - FL_NOPREFIX
    - FL_PERSUBPRJ
  - IRIX: "endianness" and EXPORT_SYMBOLS

============================================================
Plan 3)

  = sample for home-made .mk file (Ocaml? Pike?)
  = marker for user's custom tests that
    run generated executables, i.e. not ready
    for cross-compilation

  = support for gettext

  = mkclint?

  = Command line may be limited in size.
    Save defines to config.h and set HAVE_CONFIG_H to 1
    for compiling.

  = MKC_CUSTOM_premk, MKC_CUSTOM_postmk

  = Online tutorial

  = shared libraries support for AIX, UnixWare, Hurd, Haiku.

  = shared libraries support for nwcc and other compilers.

  = Comparison with quagmire, kBuild, CMake, scons, waf, framewerk, pmk,
    MagicMakefiles, bjam, pymake, bitmake, pkgconf, Gradle
    http://sourceforge.net/projects/mkbuild etc.

  = Often compilers need special options to compile pthread code.
    Support for MKPTHREAD=yes|no is needed.

  = implement MANBZ2?

============================================================
Plan 4)

  = EXPORT_SYMBOLS for HP-UX, AIX, SCO etc.

  = Single cache file as an automatically loaded (if exists)
    bmake makefile.

  = Targets bin_rpm, bin_epm
  = Targets src_tar, src_targz, src_tarbz2

  = Implement mkc.doxygen.mk?

  = Implement mkc.cunit.mk?

============================================================
Plan 5)

  = mkc.configure.mk functionality but for bourne shell, e.g.

    Upstream creates ./configure shell script:
      MKC_CONFIG_MK=mkc_config.mk
      MKC_CONFIG_H=mkc_config.h

      MKC_CHECK_HEADERS='
        header1.h
        header2.h
        header3.h'
      MKC_CHECK_FUNCLIBS='
        func1:lib1
        func2
        func3:lib3'
      #<...>
      . mkc_configure
      mkc_run # generating mkc_config.h and mkc_config.mk

    User runs
      ./configure ...
      <any>make all

  = MKC_CHECK_DECL_TYPE (define, function|variable)

  = MKC_DEFINE_01 - -DHAVE_XXX=0 or -DHAVE_XXX=1

============================================================
Plan 6)
  = MKC_BUILTINS (from autoconf):
      broken_free_NULL,
      exit_ret_int,
      isinf, isnan, malloc_0, putenv_xxx, realloc, signal,
      snprintf, sprintf, sscanf, strerror_r, strnlen,
      sysconf, unlink, unsetenv, va_copy, va_list,
      signed_shr, int_div, chown_minus_1,...

      AC_FUNC_ALLOCA
  = autoconf info documentation: Particular Functions
  = autoconf info documentation: Portability Of Headers
  = autoconf info documentation: Particular Headers
