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