The NetBSD Project

CVS log for pkgsrc/devel/mk-configure/Makefile

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / devel / mk-configure

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.40 / (download) - annotate - [select for diffs], Sat Jan 28 20:07:34 2023 UTC (8 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3, pkgsrc-2023Q2-base, pkgsrc-2023Q2, pkgsrc-2023Q1-base, pkgsrc-2023Q1, HEAD
Changes since 1.39: +4 -2 lines
Diff to previous 1.39 (colored)

Update to 0.38.2

    Fixes in tests

Revision 1.39 / (download) - annotate - [select for diffs], Mon Nov 28 06:49:00 2022 UTC (10 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

Update to 0.38.1

  Fix in NEWS

Revision 1.38 / (download) - annotate - [select for diffs], Sun Nov 27 15:45:02 2022 UTC (10 months ago) by cheusov
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)

Update to 0.38.0:
  Add support for .c++ extension for C++ sources

  Fix some tests failures seen with bmake-20220418

  Fix tests failures on tests/mkc_install seen on Darwin-21.6.0

  Fix some tests ("mkcmake configure" does not support parallel
  execution)

Revision 1.37 / (download) - annotate - [select for diffs], Thu Apr 8 18:57:48 2021 UTC (2 years, 5 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3, pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4, pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)

Version 0.37.0, by Aleksey Cheusov, Thu,  8 Apr 2021 09:07:48 +0300

  Features:
    * new feature "strtoi" for NetBSD function with the same name
    * new feature "strtou" for NetBSD function with the same name
    * new feature "reallocarr" for NetBSD function with the same name
    * new feature "macro". It provides NetBSD-style macro __dead, __pure,
      __UNCONST, __printflike, __constfunc, __always_inline, __aligned,
      __arraycount, MAX and MIN
    * "efun": add support for ereallocarr(3), estrtoi(3) and estrtou(3)

  Fixes:
    * imp.foreign_autotools.mk: add MAKE=${AT_MAKE} to environment
      This fixes ./configure when "make" executable is not available
    * CXXSTD: appropriate option is passed to the linker.  This fixes
      failures with Sun C++ compiler.
    * examples/shquote/prog.c: fix segfault seen on Solaris-10
      (incorrect use of getline(3))

  mk-configure.7:
    * add missing documentation for features "reallocarray", "fparseln"
      and "vis"
    * minor fixes
    * CXXSTD: fix incorrect description

  Exit with error if generated config under ~/.mkcmake is older than
  system mk files.  This situation potentially means that generated
  configs do not contain all required information about compiler.

  System-wide mk file for compiler settings has higher priority
  than files under ~/.mkcmake

  EXPORT_SYMBOLS: empty lines and comments started with '#' are ignored

  mkc_install: do not remove "$dst" before renaming "$dsttmp" to
  "$dst", it is just useless.

  Simplify the target "installdirs".

Revision 1.36 / (download) - annotate - [select for diffs], Wed Jan 6 13:05:50 2021 UTC (2 years, 8 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1
Changes since 1.35: +2 -2 lines
Diff to previous 1.35 (colored)

Update to mk-configure-0.36.0

  Introduce new variables:
    * CFLAGS_<source>, CXXFLAGS_<source> and CPPFLAGS_<source>.
      Now one can add some C/C++ compilation flags on per source file
      basis.
    * CCSTD and CXXSTD.
      Now projects based on mk-configure may require
      standard-compliant compiler, for example, C99.
    * CFLAGS0 and CXXFLAGS0.
    * MKCOMPILERSETTINGS.
      See README.for_packagers file for details

  Internal mk files are included only if it is really necessary.  For
  example, mkc_imp.incs.mk is included only if variable INCS is not
  empty. In theory, this should speed-up mkcmake.

  New features: humanize_number, shquote and pwdgrp.

  Deprecate some things:
    * implicit MAN page, that is when MAN variable is not set,
      but man file exists
    * ~/.mk-c directory and @sysconfdir@/mk-c.conf file.
      Please rename them to ~/.mkcmake and
      @sysconfdir@/mkcmake.conf respectively.

  Add preliminary support for ARMCC compiler.

  Optimize installation of directories, run "install -d" once for all
  created directories.

  mkc.lib.mk: after building libraries ${.CURDIR:T}.done file is
  created.  This file is used later for handling inter-project
  dependencies specified by LIBDEPS variable.

  mk-configure.7: document all variables in alphabetic order.
  I hope this makes navigation in the documentation easier.

  Fixes:
    * tests/failed_requirements: fix failure on freebsd
      (strict printf(1))
    * examples/require_tools/fake: make it a real script

Revision 1.35 / (download) - annotate - [select for diffs], Thu Nov 26 19:47:54 2020 UTC (2 years, 10 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2020Q4-base, pkgsrc-2020Q4
Changes since 1.34: +2 -2 lines
Diff to previous 1.34 (colored)

Update to 0.35.0

  Add the following new features: arc4random, bswap, dprintf, efun,
  errc, fparseln, fts, posix_getopt, raise_default_signals,
  reallocarray, strsep and vis.
  See mk-configure.7 for details.

  Fixes:
    * mkc_check_decl: fix "prototype" mode. Extraction of function name
      was incorrect.  Add one more regression test for this case in
      tests/os_NetBSD.
    * Avoid multiple repetition of MKC_COMMON_DEFINES in CPPFLAGS
    * Fix target "depend" that failed if SRCS contains full path to
      source code.

  Move -Wreturn-type from CFLAGS.warns.{clang,gcc}.2 to
  CFLAGS.warns.{clang,gcc}.1 and make it an error for C++

  CC_TYPE and CXX_TYPE are correctly set if MKC_CHECK_CUSTOM is set.

  Use .error bmake command for checking MKC_REQD.  Also, move
  appropriate check to mkc_imp.preinit.mk, so it is checked in the
  very beginning.  Documentation and error message are slightly
  updated.

  Rename variable DISTCLEANFILES to CLEANDIRFILES, DISTCLEANFILES is
  considered deprecated.

  Rename variable DISTCLEANDIRS to CLEANDIRDIRS, DISTCLEANDIRS is
  considered deprecated.

  Add support for latest Intel C/C++ compiler.  We have to always add
  -we10006 option to it in order it fail when invalid option is used.

  Adapt some features for using functions implementation from
  libnbcompat and libbsd libraries.

  Use .depend_${.CURDIR:T} instead .depend to support MAKEOBJDIR.

  New tests and examples.

Revision 1.34 / (download) - annotate - [select for diffs], Thu May 14 17:45:44 2020 UTC (3 years, 4 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.33: +3 -2 lines
Diff to previous 1.33 (colored)

Update to 0.32.2

  Do not pass *all* CFLAGS flags to CXXFLAGS.  This fixes builds
  where, for example, clang is used as a C compile and gcc is used as
  a C++ compiler. Also, MKC_CHECK_* variables update MKC_CPPFLAGS
  instead of MKC_CFLAGS.

  Avoid "install -d /" if there is nothing to install.  This fixes
  some failures on some systems/conditions and improves support for
  foreign install(1) programs, e.g., (UCB install on Solaris)

  Fixes for CFLAGS containing -O2 and -D_FORTIFY_SOURCE=n

  main.mk: clean-ups for target "cleandir" and "clean"

Revision 1.33 / (download) - annotate - [select for diffs], Mon Mar 30 14:10:55 2020 UTC (3 years, 6 months ago) by cheusov
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

*** empty log message ***

Revision 1.32 / (download) - annotate - [select for diffs], Wed Feb 19 22:03:17 2020 UTC (3 years, 7 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1
Changes since 1.31: +13 -7 lines
Diff to previous 1.31 (colored)


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

Revision 1.31 / (download) - annotate - [select for diffs], Wed Jan 22 10:53:58 2020 UTC (3 years, 8 months ago) by cheusov
Branch: MAIN
Changes since 1.30: +4 -10 lines
Diff to previous 1.30 (colored)

fix: evoid using temporary awk in mk-configure script; ++pkgrevision

Revision 1.30 / (download) - annotate - [select for diffs], Sat Jan 18 21:23:16 2020 UTC (3 years, 8 months ago) by cheusov
Branch: MAIN
Changes since 1.29: +4 -4 lines
Diff to previous 1.29 (colored)

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.

Revision 1.29 / (download) - annotate - [select for diffs], Sun Jan 5 23:05:38 2020 UTC (3 years, 8 months ago) by cheusov
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored)

Update to 0.32.1

Revision 1.28 / (download) - annotate - [select for diffs], Sat Jun 22 11:52:32 2019 UTC (4 years, 3 months ago) by nia
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

Use https for sourceforge project links.

Revision 1.27 / (download) - annotate - [select for diffs], Wed May 1 12:54:34 2019 UTC (4 years, 5 months ago) by cheusov
Branch: MAIN
Changes since 1.26: +1 -2 lines
Diff to previous 1.26 (colored)

Remove mova.org from MASTER_SITES

Revision 1.26 / (download) - annotate - [select for diffs], Wed May 1 12:23:23 2019 UTC (4 years, 5 months ago) by cheusov
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

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

Revision 1.25 / (download) - annotate - [select for diffs], Mon Apr 8 21:42:57 2019 UTC (4 years, 5 months ago) by cheusov
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)


Update to 0.31.0

  Fix in MKC_CHECK_PROTOTYPES.  The problem was it says "found" for
  undeclared prototypes.

  All FEATURES now check for _MKC_CHECK_<xxx> define.  A check for
  this define guarantees that #include <mkc_XXX.h> are not used
  without appropriate MKC_FEATURES += <xxx> in Makefile.

  New publicly available mkc.conf.mk header was introduced.  With a
  help of it one can implement custom "FEATURES".

  MKC_CHECK_HEADERS, MKC_CHECK_HEADER_FILES, MKC_CHECK_DEFINES,
  MKC_CHECK_TYPES, MKC_CHECK_VARS, MKC_CHECK_MEMBERS,
  MKC_CHECK_FUNCS<n>, MKC_CHECK_PROTOTYPES, MKC_CHECK_SIZEOF and
  MKC_PROTOTYPE_HEADERS.<name> now accepts a list of comma-separated
  headers for checking at once.
  For example, on NetBSD sys/fts.h requires preceding sys/types.h and
  sys/stat.h. So, now we can write
     MKC_CHECK_HEADERS  = sys/types.h,sys/stat.h,fts.h

  MKC_CHECK_FUNCS<n>: new variable MKC_FUNC_OR_DEFINE.<func> was introduced.
  With a help of it one can check for
  function declaration of equivalent define.

  mkc_imp.conf-final.mk: duplicated entries are not added to CPPFLAGS,
  CFLAGS, LDADD and SRCS.

  Man page for mkc_check_decl, mkc_check_sizeof and mkc_check_headers
  were updated.

  mkc.minitest.mk: new variable MKC_DIFF was introduced for diff(1)
  command.

  mkc_check_decl: new check type funcordefine was introduced.

  Improvements and minor fixes in regression tests and examples.

  This release was sucessfully tested on FreeBSD-11.1, diverse
  glibc-based Linuxes, NetBSD-8.99, OpenBSD-6.4 and SunOS-5.11.

  Deprecated features were removed: DPLIBS and PKG_CONFIG_DEPS variables,
  builtin "endianess".

Revision 1.24 / (download) - annotate - [select for diffs], Wed Mar 7 10:05:17 2018 UTC (5 years, 6 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

Update to version 0.30.0

  Variables MKC_{CHECK,REQUIRE}_HEADER_FILES were introduced.

  Improvements and addons to regression tests.

  Improvements and minor fixes in mkc_check_{header,decl,funclib,sizeof}
  This may fix checking failure if -Werror=strict-prototyping
      is passed to CFLAGS.

  OBJDIR_<project> is now set correctly if MAKEOBJDIRPREFIX is set.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Nov 22 18:22:39 2017 UTC (5 years, 10 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

Update to version 0.29.3

  Fix build failure (mkc_check_prog not found).
      Thanks a lot to Mykola Golub for pointing out!

Revision 1.22 / (download) - annotate - [select for diffs], Sun Nov 19 15:08:25 2017 UTC (5 years, 10 months ago) by cheusov
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

Update mk-configure to 0.29.2

  Fix MKC_FEATURES "fgenln"
  mkc_check_common.sh is installed to libexec directory

Revision 1.21 / (download) - annotate - [select for diffs], Thu Jan 19 18:52:07 2017 UTC (6 years, 8 months ago) by agc
Branch: MAIN
CVS Tags: pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

Convert all occurrences (353 by my count) of

	MASTER_SITES= 	site1 \
			site2

style continuation lines to be simple repeated

	MASTER_SITES+= site1
	MASTER_SITES+= site2

lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Jun 12 15:30:17 2016 UTC (7 years, 3 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (colored)

update to 0.29.1
  FIX: features "progname", "warn", "err" and "fgetln" as well as
  _mkcfake.c file were added to the list of installed ones.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Nov 30 16:26:58 2014 UTC (8 years, 10 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

Update to 0.29.0

  mkc.configure.mk:
    - New variables MKC_CHECK_CC_OPTS and MKC_CHECK_CXX_OPTS were
      introduced for checking C/C++ compiler's options

  Makefile.inc and Makefile.common are included after system variables
  are set, in particular CC and CXX.

  CC_TYPE is now set in mk.init.mk

  Fixes for "err" and "warn" features.  Now verr(3), verrx(3),
  vwarn(3) and vwarnx(3) functions are detected correctly (the problem
  was seen on gcc-4.9/armv7).

  Fix support for COMPATLIB.  Objects for "features" should not be
  generated outside compatibility library.

  A number of fixes in regression tests: support for latest GCC,
  lib64 and lib/tri-ple-ts Linuxes.

  mkc_check_custom:
    - new option -e was introduced for checking stderr for emptyness
    - new option -b was introduced for printing yes/no instead of 1/0
    - additional options to compiler are passed via CARGS env. variable.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Sep 14 13:11:39 2014 UTC (9 years ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2014Q3-base, pkgsrc-2014Q3
Changes since 1.17: +5 -2 lines
Diff to previous 1.17 (colored)


Update to version 0.28.0

  LIBDEPS, STATICLIBS, DPLDADD, DPLIBDIRS and DPINCDIRS variables were
  introduced. With their help one can specify library dependencies in
  the top-level Makefile. Users are also able to build some libraries
  statically even if they were designed to be a dynamic libraries.

  New variable FOREIGN was introduced. With its help one can embed
  autotools-based projects (as a subproject) to mk-configure-based once.
  See mkc_imp.foreign_autotools.mk section in man page for details.

  Support for Darwin was fixed. Nowadays it uses clang.

  New features were introduced:
    - "progname" for setprogname(3) and getprogname(3) BSDisms;
    - "err" for err(3), errx(3), verr(3) and verrx(3) BSDisms;
    - "warn" for warn(3), warnx(3), vwarn(3) and vwarnx(3) BSD-isms;
    - "fgetln" for fgetln(3) BSD-ism;

  Support for Haiku was fixed. It does not support hard links
  and uses LIBRARY_PATH.

  LDCOMPILER variable was removed.
  Compiler is always used for linking.

  New builtin "prog_gmake" was introduced which search GNU make.

  INTERNALLIBS variable was introduced. With its help one can
  implement libraries common for several subprojects.

  COMPATLIB variable was introduced. It is ideal solution for
  portability code.

  MKC_FEATURES: all objects are removed by target "clean"

  Target "errorcheck" was added to ALLTARGETS. Therefore it also have
  pre_, do_, post_ counterparts.

  VARDIR, SHAREDSTATEDIR, SUBPRJSRCTOP, CPPFLAGS0 variables were introduced.

  MKC_SOURCE_FUNCSLIBS: .o{s,p} objects are also removed by target "clean"

  Hardcoded /etc/mk.conf is not included anymore. New mk-configure
  specific configuration file @sysconfdir@/mk-c.conf was introduced.

  Additions to doc/NOTES

  .depends is added to DISTCLEANDIRS only for non-empty SRCS

  mkc_imp.intexts.mk: new error type for odd tokens in INTEXTS_REPLS

  MKDEP_CC is shquoted when passed to mkdep(1) as CC.

  Code clean-ups, more regression tests.

  This release was sucessfully tested on the following platforms.
  NetBSD-6.1/x86_64/gcc-4.5, FreeBSD-9.0/i386/gcc-4.2,
  OpenBSD-4.9/i386/gcc-4.2, DragonFlyBSD-3.4/x86_64/gcc-4.7,
  Darwin-14.0/x86_64/clang-600.0.53, SunOS-5.11/i86pc/gcc-4.7,
  SunOS-5.10/sparc/{gcc-4.8,SunStudio-12.3}, diverse
  Linux-es/{gcc,icc-12.1,SunStudio-12.3}, Haiku/gcc-4.8.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Jul 13 15:52:36 2014 UTC (9 years, 2 months ago) by cheusov
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

Update to version 0.27.0

  Fix pkg-config support (github issue #8).
  Thanks to Andrew Shadura for the report.

  Fix support for mixed C/C++ projects.

  Fixes for Interix and Cygwin where users and groups may have spaces.
  Thanks to Michael Crogan for the report.

  Fix in mkc_imp.f_SLIST.mk (we have to restore original MKC_NOAUTO)

  mkc.lib.mk:
    - MKPIE=yes also turns on PIC

  pre_*, do_* and post_* targets were introduced. ALLTARGETS was
  introduced which lists all targets with pre_/do_/post_
  counterparts.

  examples/hello_superfs:
    - new interesting feature proposed by Michael Crogan

  As makedepend(1) is broken on Linux, {b}mkdep(1) is used for
  generating .depend by default.

  mkc_install:
    - new option -l for symlinking
    - fixes for files and directories with spaces

Revision 1.16 / (download) - annotate - [select for diffs], Tue Feb 4 02:53:01 2014 UTC (9 years, 7 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1
Changes since 1.15: +3 -2 lines
Diff to previous 1.15 (colored)


Update mk-configure to 0.26.0

  "Features" framework was implemented (variable MKC_FEATURES).  In
  general, a feature is something that has problems with
  portability. This may be a function name or header missing on some
  platforms, for example.  What developer needs to do is to add
  FEATURENAME to MKC_FEATURES variable and add #include
  <mkc_FEATURENAME.h> where it is needed. Internally, system
  requiremets are checked in the automatically included
  mkc_imp.f_FEATURENAME.mk file and all required actions (includes,
  define checks etc.)  are made in mkc_FEATURENAME.h header file.
  Currently the following features are provided: strlcat, strlcpy,
  getline, libm, libdl, RB, SPLAY, SLIST, SIMPLEQ, STAILQ, LIST, TAILQ
  and CIRCLEQ. Original idea was stolen from pkgsrc.

  mkc_imp.pkg-config.mk:
    - New variables MKC_CHECK_PKGCONFIG and MKC_REQUIRE_PKGCONFIG were
      introduced.  They work just like other MKC_{CHECK,REQUIRE}_*
      variables from mkc.configure.mk. Thanks to Andrew Shadura for
      pushing me to this direction.

  mkc.configure.mk:
    - MKC_{CHECK,REQUIRE}_PROTOTYPES were introduced.  With their help
      mk-configure is able to check C function prototypes.  This
      feature was proposed by Andrew Shadura.

  If ${MKC_CACHEDIR} does not exit, it is automatically created.

  ${SRCTOP}/Makefile.common is included by all subprojects if it
  exists. It can be used as a replacement or addition for
  ../Makefile.inc.

  Valiables SRCDIR_<dir>, SRC_PATHADD, MKC_SOURCE_DIR, LDFLAGS0 and
  LDADD0 were introduced.

  Wrongly named builtin 'endianess' was renamed to 'endianness'.
  Thanks to Andew Shadura for the report and fix!

  mk-configure itself is now 2-level project.
  This allows me to run an arbitrary regression test like the following
     bmake test-examples/hello_world
  Hurray! :-)

  mkc.subprj.mk:
    - Now it works correctly if NOSUBDIR is not empty.
      Also, NOSUBDIR affects NODEPS and therefore the dependency graph.
    - New target "print-deps" that outputs the dependency graph was
      introduced.

  -O is added to CFLAGS if USE_FORT==yes, seen on Linux/ppc64/gcc

  Documentation: clean-ups, grammar fixes, minor improvements.

  Fix. Some @@ patterns in mk-configure.7 should not be replaced with
  directories. Thanks to Andrew Shadura for the report!

  This release was successfully tested on the following platforms:
  NetBSD-6.1/amd64, FreeBSD-8.3/amd64, OpenBSD-{4.9,5.3}/x86,
  DragonFlyBSD-3.4/x86, Linux/{x86,amd64}, SunOS-5.10/sparc,
  SunOS-5.11/x86.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Jan 1 23:59:27 2014 UTC (9 years, 9 months ago) by cheusov
Branch: MAIN
Changes since 1.14: +12 -10 lines
Diff to previous 1.14 (colored)


mk-configure updated to 0.25.0

  Build infrastructure for mk-c itself was completely reimplemented.
  Now it looks much better and is more flexible for further extensions.

  NetBSD version of mkdep(1), traditional BSD mkdep(1) or
  makedepend(1) is needed at build time.

  LDCOMPILER defaults to "yes".

  Variable TARGETS is now visible to users and is documented. It
  contains all recursive targets and may be used for adding user's
  functionality to mk-c.

  FIX: Parallel installation ("mkcmake install -jN") now works
  correctly. "installdirs" is activated before "install". Report by
  Michael Crogan.

  During build object directories are created automatically by default
  when MAKEOBJDIR or MAKEOBJDIRPREFIX are set.  New recursive target
  "obj" and variable MKOBJDIRS were introduced.
  Report by Michael Crogan.

  New variable MKRELOBJDIR was introduced. With its help one can
  create object directories relative to top-level object directory
  (like MAKEOBJDIRPREFIX but without top-level ${.CURDIR} in paths).
  Thanks to Michael Crogan.

  target "depend":
     - FIX. Original implementation relied on NetBSD version of
       mkdep(1). So, it didn't work on Linux, FreeBSD and others with
       original BSD mkdep(1). Type of mkdep(1) is detected at
       mk-configure build time. Report by Michael Crogan.

  New variables LN, LN_S, MKDIR, RM, CLEANFILES_CMD, CLEANDIRS_CMD,
  UNINSTALL, MAKEDEPEND, OBJTOP, CC_PREFIX, CXX_PREFIX were
  introduced.

  New variable NODEPS was introduced. With its help one can cut off
  the dependency graph for particular targets.

  New variable BMAKE_REQD was introduced.

  New variable SRCTOP was introduced. With its help
     "mkcmake -C subdir target" may work just like "mkcmake target-subdir".

  New variables CFLAGS.dflt.${CC_TYPE} and CXXFLAGS.dflt.${CXX_TYPE}
    were introduced. They default to -Qunused-arguments
    for clang and clang++.

  mkc.init.mk can be invoked by users directly for setting all
  required variables and further checks (CC_TYPE, LD_TYPE, OPSYS etc.).

  mkc_imp.links.mk:
     - This module was reimplemented from scratch.
       Bug with parallel installation (LINKS and MLINKS) was fixed.

  mkc.minitest.mk:
     - new variable TEST_PREREQS was introduced.

  mkc_imp.inc.mk: fix for ${INCS} installation problem happened when
     headers are built in ${.OBJDIR}. Report by Jan Smydke.

  mkc_imp.info.mk:
     - fix for MKINSTALL=no. "installdirs" unexpectedly created target
       directories.

  mkc.configure.mk:
     - fix issue with MKC_CHECK_CUSTOM when ${.OBJDIR} != ${.CURDIR}
     - MKC_CHECK_PROGS: PROG.<prog> is set even if full path was
       specified.  In addition existence and executability of the
       specified file is always checked.
     - fix for MKC_SOURCE_FUNCLIBS. Not all objects were cleaned
       correctly by target "clean".  Now objects are added to CLEANFILES
       unconditionally.
     - negative results for MKC_REQUIRE_* are not cached.  This gives
       users ability to fix the problem by changing the environment
       and try again.
     - MKC_CHECK_BUILTINS. Additional builtin checks were added:
       "prog_mkdep" and "prog_nbmkdep" for original BSD mkdep(1) and
       NetBSD version of mkdep(1) respectively.

  mkc_imp.intexts.mk fixes:
     - Targets "clean" and "cleandir" do not fail anymore if INTEXTS_REPLS
       contains empty variables.
     - Target "all" works correctly if INFILES or INSCRIPTS contain
       files with directories.

  mkc.sub{dir,prj}.mk:
     - ${MAKEFLAGS} is passed to recursive ${MAKE}s.
     - {nodeps-,subdir-,}dir:T are also targets, that is, one can also
       use the last component of subdirectory as_a_part_of/as_a_whole
       target. If you want to disable this, set SHORTPRJNAME to "no".

  mkc_imp.subdir.mk was reimplemented using mkc_imp.subprj.mk

  mkc_imp.dep.mk:
     - documentation for this module was added.
     - support for SHRTOUT=yes
     - new variable DPSRCS was introduced
     - MKDEP_SUFFIXES also contains .os and .op. Report by Michael Crogan.
     - Target "clean" does not remove .depend and .d files.
       Target "cleandir" does. NetBSD mk files work the same way.
       Report by Michael Crogan.

  MKPIE/SHLIB_*:
     - s/-KPIC/-xcode=pic32/ for SunStudio compilers

  MKSSP=yes:
     - Support for IBM XL Compiler was added (not tested due to lack of such
     - iron)
     - Support for Intel C/C++ Compiler was added

  Documentation fixes, updates and improvements.  A lot of new
  examples/. A lot of new regression tests.

  Tools:
     Long option --help was removed from all utilities
     - mkc_install:
        - fix for problem with parallel "installdirs" (race condition).
        - Options -t and -b were removed.
     - mkc_check_prog: option -i is documented in man page
     - mkc_check_compiler: workarounds for buggy SunStudio C++
       compiler ("CC -E -" exits with error).

  All test are run with MKCATPAGES=no by default.

  myprojects.pdf: pipestatus also uses mk-configure.

Revision 1.14 / (download) - annotate - [select for diffs], Sat Apr 6 08:39:31 2013 UTC (10 years, 5 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3, pkgsrc-2013Q2-base, pkgsrc-2013Q2
Changes since 1.13: +2 -1 lines
Diff to previous 1.13 (colored)


Fix for Minix. Thanks to Thomas Cort. ++pkgrevision

Revision 1.13 / (download) - annotate - [select for diffs], Fri Mar 8 11:35:14 2013 UTC (10 years, 6 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2013Q1-base, pkgsrc-2013Q1
Changes since 1.12: +2 -3 lines
Diff to previous 1.12 (colored)


Version 0.24.0, by Aleksey Cheusov, Fri,  8 Mar 2013 13:18:00 +0300

  mkc.sub{dir,prj}.mk:
    - support for subprojects containing / symbol was added. In
      OBJDIR_<dir> variable slashes are replaced with underlines.
      In addition OBJDIR_<dir:T> variable is set.
    - now also run the target "errorcheck"
    - now work correctly with non-empty MAKEOBJDIR
      and MAKEOBJDIRPREFIX.

  Minor improvements in examples/*/linkme.mk

  DPLIBS is deprecated, use LDADD instead.

  ${MKC_SOURCE_FUNCLIBS}.o is added to CLEANFILES if it is set.

  Minor fixes in mkc_imp.lua.mk (LUA_MODULES vs. LUA_LMODULES).

  Some improvements and fixes in man page and FAQ.
  Thanks to Jeremy Reed, Min Sik Kim and Jan Smydke.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Oct 31 11:17:29 2012 UTC (10 years, 11 months ago) by asau
Branch: MAIN
CVS Tags: pkgsrc-2012Q4-base, pkgsrc-2012Q4
Changes since 1.11: +1 -3 lines
Diff to previous 1.11 (colored)

Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Oct 21 17:24:58 2012 UTC (10 years, 11 months ago) by cheusov
Branch: MAIN
Changes since 1.10: +4 -2 lines
Diff to previous 1.10 (colored)

Support for non-default PKG_SYSCONFDIR

Revision 1.10 / (download) - annotate - [select for diffs], Sun Oct 21 17:17:01 2012 UTC (10 years, 11 months ago) by cheusov
Branch: MAIN
Changes since 1.9: +3 -2 lines
Diff to previous 1.9 (colored)

Do not package ChangeLog file

Revision 1.9 / (download) - annotate - [select for diffs], Sun Oct 21 17:13:49 2012 UTC (10 years, 11 months ago) by cheusov
Branch: MAIN
Changes since 1.8: +2 -3 lines
Diff to previous 1.8 (colored)

Clean-ups

Revision 1.8 / (download) - annotate - [select for diffs], Sun Jul 22 13:00:41 2012 UTC (11 years, 2 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2012Q3-base, pkgsrc-2012Q3
Changes since 1.7: +4 -2 lines
Diff to previous 1.7 (colored)


Update to 0.23.0
  mkc.subprj.mk:
    - Support for "virtual" subproject was added. Subprojects listed
      in SUBPRJ and SUBPRJS_DFLT are not necessarily associated with
      a subdirectory. See examples/hello_superfs for example.
      Virtual subproject is a way to group several subprojects into
      new one.

  New variables were introduced: COPTS_<proj> OBJCOPTS_<proj>
  LDADD_<proj> LDFLAGS_<proj> CPPFLAGS_<proj> CXXFLAGS_<proj>.
  See the manual page for details.

  Fix: OBJDIR_<subdir> variables now always contain full paths.

  Fix in mkc_which(1). Now it differs directories and regular files.

  Minor fixes in regression tests for EXPORT_SYMBOLS.

  mkc.lib.mk:
    - SHLIB_MINOR unconditionally defaults to 0

  More slides in .pdf presentation:
    - cross-compilation
    - EXPORT_SYMBOLS

  Fixes for Pascal support

  Minor fixes in the man page

Revision 1.7 / (download) - annotate - [select for diffs], Fri Mar 9 18:56:21 2012 UTC (11 years, 6 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2012Q2-base, pkgsrc-2012Q2, pkgsrc-2012Q1-base, pkgsrc-2012Q1
Changes since 1.6: +6 -4 lines
Diff to previous 1.6 (colored)


Update to 0.22.0

  Improvements in cross-compilation. The following variables were
     introduced: TOOLDIR, SYSROOT, TOOLCHAIN_PREFIX and
     MACHINE_GNU_PLATFORM.

  PROGS variable was introduced (sf.net bug #3445658).

  Support for Lua submodules was added (e.g. net.socket.lua ->
  net/socket.lua). New variable LUA_MODULES was introduced for this
  purpose.

  MKPIE (Position Independent Executables), USE_SSP (Stack Smashing
  Protection), USE_FORT and USE_RELRO variables were introduced for
  security reasons.

  Variable OBJDIR_<dir> was introduced.

  mkc.subdir.mk and mkc.subprj.mk: Commands associated with targets
  "all", "install", "clean", "cleandir", "depend", "test",
  "installdirs", "uninstall", "errorcheck" and "filelist" in Makefile
  override the standard behaviour.

  MKC_REQUIRE_HEADERS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES,
  MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_FUNCS<n> and
  MKC_REQUIRE_CUSTOM do not change CFLAGS.

  mkc.subdir.mk and mkc.subprj.mk: "cleandir" target takes into
  account CLEANFILES, CLEANDIRS, DISTCLEANFILES and DISTCLEANDIRS
  variables (removes files).

  PCNAME.<lib> variable was introduced in mkc_imp.pkg-config.mk, this
  is a map from library name to pcname (.pc).

  Improvements for SHRTOUT.

  New variable OBJCOPY was introduced.

  Update of the presentation.

  Fix in manual page (sf.net bug #3441610).

  New regression tests (examples).

Revision 1.6 / (download) - annotate - [select for diffs], Fri Oct 21 23:30:31 2011 UTC (11 years, 11 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2011Q4-base, pkgsrc-2011Q4
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)


Update to 0.21.2
  mkc_check_compiler has been reimplemented. This fixes problems
  on system with /bin/sh == bash (affected versions: 0.21.1)
  and makes it drammatically faster.

Revision 1.5 / (download) - annotate - [select for diffs], Sun Oct 9 10:02:47 2011 UTC (11 years, 11 months ago) by cheusov
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

Update my email

Revision 1.4 / (download) - annotate - [select for diffs], Tue Sep 13 19:04:37 2011 UTC (12 years ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2011Q3-base, pkgsrc-2011Q3
Changes since 1.3: +2 -3 lines
Diff to previous 1.3 (colored)


Update to 0.21.1

  Target "errorcheck" ("configure") cannot work in parallel.

  Fix bug appeared in parallel builds (make -j).
     Thanks to Alexander Nasonov.

  Support for IRIX64 and Haiku was implemented.

  PDF presentation update

  Minor clean-ups

Revision 1.3 / (download) - annotate - [select for diffs], Sun May 22 15:23:31 2011 UTC (12 years, 4 months ago) by cheusov
Branch: MAIN
CVS Tags: pkgsrc-2011Q2-base, pkgsrc-2011Q2
Changes since 1.2: +1 -2 lines
Diff to previous 1.2 (colored)


Fix two pkglint warnings: LICENCE line position, comment in patch

Revision 1.2 / (download) - annotate - [select for diffs], Fri May 13 22:00:26 2011 UTC (12 years, 4 months ago) by cheusov
Branch: MAIN
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored)


Fixed: projects based on mk-c may fail with MAKE_JOBS=n, n>1
   Thanks to Alexander Nasonov (alnsn@) for pointing out and testing.

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Thu Jan 20 21:36:24 2011 UTC (12 years, 8 months ago) by drochner
Branch: TNF
CVS Tags: pkgsrc-base, pkgsrc-2011Q1-base, pkgsrc-2011Q1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

import mk-configure-0.21.0, a lightweight but powerful replacement for
GNU autotools, from Aleksey Cheusov per pkgsrc-wip
(needed for the runawk pkg to be imported in a minute)

Revision 1.1 / (download) - annotate - [select for diffs], Thu Jan 20 21:36:24 2011 UTC (12 years, 8 months ago) by drochner
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>