2020-05-14 19:45:44 by Aleksey Cheusov | Files touched by this commit (2) | |
Log message:
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"
|
2020-02-19 23:03:17 by Aleksey Cheusov | Files touched by this commit (3) | |
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) |
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) |
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) |
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
|
2019-04-08 23:42:58 by Aleksey Cheusov | Files touched by this commit (4) | |
Log message:
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".
|