./devel/mk-configure, Lightweight but powerful replacement for GNU autotools

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.34.0, Package name: mk-configure-0.34.0, Maintainer: cheusov

mk-configure is a lightweight replacement for GNU autoconf,
written in and for bmake (NetBSD make).


Required to run:
[devel/bmake]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 90479abd74ac632ea17178ecd75037e4b20855c8
RMD160: c1d933e42e24da58c1b1007bef14c69afc9021b7
Filesize: 317.889 KB

Version history: (Expand)


CVS history: (Expand)


   2020-02-19 23:03:17 by Aleksey Cheusov | Files touched by this commit (3) | Package updated
Log message:
Version 0.34.0, by Aleksey Cheusov, Wed, 19 Feb 2020 22:46:40 +0300

  This release introduces some incompatibilities with older releases:
    - mkc_install -l is changed
    - Target "distclean" is considered deprecated.
      Use target "configure" instead!
    - Remove support for Pascal, Fortran and ObjC.
      Only C and C++ are supported.
    - Do not add ${LEXLIB} to LDADD if SRCS contains .l files.
      You have to add it manually when needed or use new feature "libl".
    - mkc_check_custom: remove options -p and -n
    - LDREAL is either C or C++ compiler, not the linker
    - mkc_check_custom: do not use CARGS anymore
    - Introduce CXXOPTS and CXXOPTS_<prj> variables and
      do not pass COPTS to C++ compiler. COPTS is only for C!

  mk-configure build system changes:
    - Introduce new targets "help", "help_subprj" and \ 
"help_use" and
      appropriate framework for documenting the software project.  See
      mkc_imp.help.mk makefile. mk-configure itself uses this
      framework, so, you can run "bmake help" before build. Also
      introduce the following configuring variables for mk-configure:
      USE_AWK, USE_ID, USE_INSTALL, USE_NM, USE_SH, USE_CC_COMPILERS,
      USE_CXX_COMPILERS. See updated doc/INSTALL.md
    - Add virtual targets "examples" in addition to "tests".
    - Move helpers/* scripts to examples/helpers/ subdirectory. They
      are for testing mk-configure only.

  Mk files:
    * C{,XX}FLAGS.{warns,ssp,pie,pic}, LDFLAGS.pie etc...:
      Defaults for these values are determined at build time by
      checking whether compiler/linker accepts the corresponding
      option.  Load compiler specific options from ~/.mk-c and
      MKFILESDIR directories, and exit with error if they do not
      exist. For generating such settings for compiler absent at build
      time, use newly introduced script "mkc_compiler_settings".
    * C{,XX}FLAGS:
      Pass these flags to the compiler after C{,XX}FLAGS.warns
      for overriding bad warnings/errors
    * MKC_CHECK_{CC,CXX}_OPTS:
      double underline symbols in the option is considered
      as a single space
    * MKC_CHECK_CUSTOM:
      - pass MKC_CUSTOM_{CPPFLAGS,CFLAGS,CXXFLAGS,LDFLAGS,LDADD}.<check_name>
        flags to the compiler
      - introduce variable MKC_CUSTOM_NOAUTO.<checkname>
      - introduce variable MKC_CUSTOM_CACHE.<checkname>
      - introduce variable MKC_CHECK_CCLD_OPTS and MKC_CHECK_CXXLD_OPTS
    * Introduce new variables CC_VERSION and CXX_VERSION determined
      by mkc_check_compiler(1)
    * Introduce INSTALL_FLAGS variables and remove undocumented
      COPY, PRESERVE, INSTPRIV and RENAME
    * Keep initial settings for mk-configure in sys.mk
      instead of mkc_imp.vars.mk
    * Introduce MKC_CUSTOM_LINK.<custom_check_name> variable for link testing
    * Introduce CFLAGS.check and CXXFLAGS.check variables
    * Set CFLAGS.dflt.sunpro to -errtags
    * mkc.conf.mk: undefine MKC_CHECK_CC_OPTS, MKC_CHECK_CXX_OPTS after use
    * Introduce new checks MKC_CHECK_CCLD_OPTS and MKC_CHECK_CXXLD_OPTS
    * Introduce new "help" framework, see mkc_imp.help.mk section in \ 
man page
    * mkc.minitest.mk: minor fix in target "cleandir"

  Features:
    - add support for C++ (extern "C") to all feature header files
    - add new feature "libl" for libl.a or libfl.a

  Utilities:
    * mkc_install:
      - "move" semantic is disabled forever, so flag -c is silently ignored
      - add manual page
      - flag -l is changed and becomes compatible with NetBSD install(1)
      - actually it is almost completely reimplemented
    * mkc_check_compiler:
      - add man page
      - exit status is 2, if bad option is specified
      - CC defaults to "cc" as the documentation says
      - detects not only compiler type, but also a version
      - cache file name for C compiler type is _mkc_cc_type.*
    * mkc_check_custom:
      - switch to getopts
      - add option -l and support for LDFLAGS and LDADD
      - add new option -t and remove options -p and -n
      - do not use CARGS anymore, use CFLAGS and CPPFLAGS instead
    * mkc_which:
      - add man page
    * mkc_check_version:
      - add man page
    * mkc_get_deps:
      - installed to libexec/ instead of bin/

  Documentation update

  Code clean-ups and minor fixes
   2020-01-22 11:53:58 by Aleksey Cheusov | Files touched by this commit (1)
Log message:
fix: evoid using temporary awk in mk-configure script; ++pkgrevision
   2020-01-18 22:23:16 by Aleksey Cheusov | Files touched by this commit (3) | Package updated
Log message:
Update to 0.33.0

  Add new features "getdelin" and "strndup".

  Fix MKC_CHECK_FUNCS<n> when MKC_FUNC_OR_DEFINE.<x> is "yes".

  Fix awk in mkc_check_compiler. AWK is supposed to be replaced as
  seen in Makefile.inc.  This makes awk work correctly on solaris etc.
  Thanks to Niclas Rosenvik!

  Change the order of options passed to the C and C++ compiler.  It
  is: CPPFLAGS0, CPPFLAGS, CPPFLAGS_<project>, C{,XX}FLAGS,
  C{,XX}FLAGS.ssp, C{,XX}FLAGS.pie, C{,XX}FLAGS.warns,
  C{,XX}FLAGS_<project>, C{,XX}FLAGS.pic (for shared objects), COPTS,
  COPTS_<project>.

  scripts/mkc_check_custom: switch to /usr/xpg4/bin/sh on SunOS-5.10

  Fixes in regression tests for Solaris 10 and 11.

  examples/hello_libdeps: fix regression test on
  Linux/mips64/eglibc-2.13.
   2020-01-06 00:05:38 by Aleksey Cheusov | Files touched by this commit (3) | Package updated
Log message:
Update to 0.32.1
   2019-11-03 11:39:32 by Roland Illig | Files touched by this commit (274)
Log message:
devel: align variable assignments

pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
   2019-06-22 13:52:32 by Nia Alarie | Files touched by this commit (9)
Log message:
Use https for sourceforge project links.
   2019-05-01 14:54:34 by Aleksey Cheusov | Files touched by this commit (1)
Log message:
Remove mova.org from MASTER_SITES
   2019-05-01 14:23:23 by Aleksey Cheusov | Files touched by this commit (2) | Package updated
Log message:
Update to 0.32.0

  Calculate WARNERR and {CC,CXX}FLAGS.warnerr lazily.  This makes some
  interesting scenaria possible, for example, setting WARNS in
  Makefile.common or Makefile.inc top-level files.

  Feature "prog_gmake": fix fork-bomb seen on FreeBSD 12.0-RELEASE-p3
  due to features of native make(1).

  Fixes for builtins prog_gm4, prog_gmake, prog_gawk and prog_flex
  (multiline output)

  MKC_BUILTINS_*: fix find_n_match function in mkc_check_common.sh

  Minor fixes in examples/hello_{yaxx,calc2}

  Always apply -Werror=implicit-function-declaration for clang.
  This fixes MKC_CHECK_FUNCS on clang-5.0.1 and earlier versions.

  mkc_imp.foreign_autotools.mk: if AT_MAKE is empty set it to "false"

  Get rid of builtin "endianess" (with single N)

  mkc_check_common.sh: always use mkc_which(1) instead of which(1)

  Updates for Lua code in examples/

  BMAKE_REQD check: workaround for broken bmake (seen on Darwin) that
  defines empty MAKE_VERSION

  examples/hello_dictd/test.mk: avoid double-slash in dirs