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".
28 lines
809 B
Makefile
28 lines
809 B
Makefile
# $NetBSD: mk-c.mk,v 1.7 2019/04/08 21:42:57 cheusov Exp $
|
|
|
|
TOOL_DEPENDS+= ${BUILDLINK_API_DEPENDS.mk-c}:${BUILDLINK_PKGSRCDIR.mk-c}
|
|
|
|
MAKE_PROGRAM= ${PREFIX}/bin/mkcmake
|
|
MAKE_ENV+= MANDIR=${PREFIX}/${PKGMANDIR} INSTALL=${INSTALL:Q}
|
|
MAKE_ENV+= SYSCONFDIR=${PKG_SYSCONFDIR}
|
|
CONFIGURE_TARGET?= errorcheck
|
|
|
|
do-configure:
|
|
set -e; cd ${WRKSRC}; \
|
|
env ${MAKE_ENV} \
|
|
${MAKE_PROGRAM} ${MAKE_FLAGS} ${BUILD_MAKE_FLAGS} \
|
|
-f ${MAKE_FILE} ${CONFIGURE_TARGET}
|
|
|
|
###
|
|
BUILDLINK_TREE+= mk-c
|
|
|
|
.if !defined(MK_CONFIGURE_BUILDLINK3_MK)
|
|
MK_CONFIGURE_BUILDLINK3_MK:=
|
|
|
|
BUILDLINK_API_DEPENDS.mk-c+= mk-configure>=0.28.0
|
|
BUILDLINK_PKGSRCDIR.mk-c= ../../devel/mk-configure
|
|
BUILDLINK_DEPMETHOD.mk-c= build
|
|
BUILDLINK_INCDIRS.mk-c= include share/mk-configure/features
|
|
.endif # MK_CONFIGURE_BUILDLINK3_MK
|
|
|
|
BUILDLINK_TREE+= -mk-c
|