pkgsrc/devel/mk-configure/PLIST

496 lines
24 KiB
Text
Raw Normal View History

@comment $NetBSD: PLIST,v 1.10 2014/11/30 16:26:58 cheusov Exp $
bin/mkc_check_common.sh
bin/mkc_check_compiler
bin/mkc_check_custom
bin/mkc_check_decl
bin/mkc_check_funclib
bin/mkc_check_header
bin/mkc_check_prog
bin/mkc_check_sizeof
bin/mkc_check_version
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.
2014-09-14 15:11:39 +02:00
bin/mkc_get_deps
bin/mkc_install
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.
2014-09-14 15:11:39 +02:00
bin/mkc_long_lines
bin/mkc_test_helper
bin/mkc_which
bin/mkcmake
man/man1/mkc_check_custom.1
man/man1/mkc_check_decl.1
man/man1/mkc_check_funclib.1
man/man1/mkc_check_header.1
man/man1/mkc_check_prog.1
man/man1/mkc_check_sizeof.1
man/man1/mkcmake.1
man/man7/mk-configure.7
share/doc/mk-configure/FAQ
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.
2014-01-02 00:59:27 +01:00
share/doc/mk-configure/LICENSE
share/doc/mk-configure/NEWS
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.
2014-09-14 15:11:39 +02:00
share/doc/mk-configure/NOTES
share/doc/mk-configure/README
share/doc/mk-configure/TODO
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.
2014-02-04 03:53:01 +01:00
share/doc/mk-configure/presentation.pdf
share/examples/mk-configure/Makefile.inc
share/examples/mk-configure/check_compiler_opts/Makefile
share/examples/mk-configure/check_compiler_opts/expect.out
share/examples/mk-configure/check_compiler_opts/hello_world.c
share/examples/mk-configure/check_compiler_opts/test.mk
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.
2014-02-04 03:53:01 +01:00
share/examples/mk-configure/hello_RBTREE/Makefile
share/examples/mk-configure/hello_RBTREE/expect.out
share/examples/mk-configure/hello_RBTREE/hello_RBTREE.c
share/examples/mk-configure/hello_RBTREE/input.in
share/examples/mk-configure/hello_RBTREE/test.mk
share/examples/mk-configure/hello_SLIST/Makefile
share/examples/mk-configure/hello_SLIST/expect.out
share/examples/mk-configure/hello_SLIST/hello_SLIST.c
share/examples/mk-configure/hello_SLIST/input.in
share/examples/mk-configure/hello_SLIST/test.mk
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.
2014-01-02 00:59:27 +01:00
share/examples/mk-configure/hello_TARGETS/Makefile
share/examples/mk-configure/hello_TARGETS/Makefile.inc
share/examples/mk-configure/hello_TARGETS/expect.out
share/examples/mk-configure/hello_TARGETS/hello1/Makefile
share/examples/mk-configure/hello_TARGETS/hello1/hello1.c
share/examples/mk-configure/hello_TARGETS/hello1/hello1.pod
share/examples/mk-configure/hello_TARGETS/hello2/Makefile
share/examples/mk-configure/hello_TARGETS/hello2/hello2.c
share/examples/mk-configure/hello_TARGETS/hello2/hello2.pod
share/examples/mk-configure/hello_TARGETS/test.mk
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.
2014-09-14 15:11:39 +02:00
share/examples/mk-configure/hello_autoconf/Makefile
share/examples/mk-configure/hello_autoconf/expect.out
share/examples/mk-configure/hello_autoconf/proj/AUTHORS
share/examples/mk-configure/hello_autoconf/proj/COPYING
share/examples/mk-configure/hello_autoconf/proj/ChangeLog
share/examples/mk-configure/hello_autoconf/proj/Makefile.in
share/examples/mk-configure/hello_autoconf/proj/NEWS
share/examples/mk-configure/hello_autoconf/proj/README
share/examples/mk-configure/hello_autoconf/proj/configure.ac
share/examples/mk-configure/hello_autoconf/proj/hello_autoconf.c
share/examples/mk-configure/hello_autoconf/test.mk
share/examples/mk-configure/hello_autotools/Makefile
share/examples/mk-configure/hello_autotools/expect.out
share/examples/mk-configure/hello_autotools/proj/AUTHORS
share/examples/mk-configure/hello_autotools/proj/COPYING
share/examples/mk-configure/hello_autotools/proj/ChangeLog
share/examples/mk-configure/hello_autotools/proj/Makefile.am
share/examples/mk-configure/hello_autotools/proj/NEWS
share/examples/mk-configure/hello_autotools/proj/README
share/examples/mk-configure/hello_autotools/proj/configure.ac
share/examples/mk-configure/hello_autotools/proj/main.c
share/examples/mk-configure/hello_autotools/test.mk
share/examples/mk-configure/hello_calc2/Makefile
share/examples/mk-configure/hello_calc2/expect.out
share/examples/mk-configure/hello_calc2/expressions.txt
share/examples/mk-configure/hello_calc2/lex.l
share/examples/mk-configure/hello_calc2/parser.y
share/examples/mk-configure/hello_calc2/test.mk
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.
2014-09-14 15:11:39 +02:00
share/examples/mk-configure/hello_compatlib/Makefile
share/examples/mk-configure/hello_compatlib/Makefile.inc
share/examples/mk-configure/hello_compatlib/expect.out
share/examples/mk-configure/hello_compatlib/libcmpt/Makefile
share/examples/mk-configure/hello_compatlib/prog1/Makefile
share/examples/mk-configure/hello_compatlib/prog1/prog1.c
share/examples/mk-configure/hello_compatlib/prog2/Makefile
share/examples/mk-configure/hello_compatlib/prog2/prog2.c
share/examples/mk-configure/hello_compatlib/test.mk
share/examples/mk-configure/hello_compilers/Makefile
share/examples/mk-configure/hello_compilers/compiler_test.c
share/examples/mk-configure/hello_compilers/expect.out
share/examples/mk-configure/hello_compilers/test.mk
share/examples/mk-configure/hello_customtests/Makefile
share/examples/mk-configure/hello_customtests/custom_tests/alloca_in_alloca_h.c
share/examples/mk-configure/hello_customtests/custom_tests/alloca_in_stdlib_h.c
share/examples/mk-configure/hello_customtests/custom_tests/cxx_with_templates.cc
share/examples/mk-configure/hello_customtests/custom_tests/shtest
share/examples/mk-configure/hello_customtests/custom_tests/true_is_available
share/examples/mk-configure/hello_customtests/expect.out
share/examples/mk-configure/hello_customtests/hello_customtests.c
share/examples/mk-configure/hello_customtests/test.mk
share/examples/mk-configure/hello_customtests2/Makefile
share/examples/mk-configure/hello_customtests2/expect.out
share/examples/mk-configure/hello_customtests2/hello_customtests2.c
share/examples/mk-configure/hello_customtests2/test.mk
share/examples/mk-configure/hello_cxx/Makefile
share/examples/mk-configure/hello_cxx/expect.out
share/examples/mk-configure/hello_cxx/five.c
share/examples/mk-configure/hello_cxx/five.h
share/examples/mk-configure/hello_cxx/hello_msg.cc
share/examples/mk-configure/hello_cxx/hello_msg.h
share/examples/mk-configure/hello_cxx/main.cc
share/examples/mk-configure/hello_cxx/seven.c
share/examples/mk-configure/hello_cxx/seven.h
share/examples/mk-configure/hello_cxx/test.mk
share/examples/mk-configure/hello_cxxlib/Makefile
share/examples/mk-configure/hello_cxxlib/Makefile.inc
share/examples/mk-configure/hello_cxxlib/cxxapp/Makefile
share/examples/mk-configure/hello_cxxlib/cxxapp/cxxapp.cc
share/examples/mk-configure/hello_cxxlib/cxxlib/Makefile
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.
2014-09-14 15:11:39 +02:00
share/examples/mk-configure/hello_cxxlib/cxxlib/dummy.c
share/examples/mk-configure/hello_cxxlib/cxxlib/hello_msg1.cpp
share/examples/mk-configure/hello_cxxlib/cxxlib/hello_msg2.cpp
share/examples/mk-configure/hello_cxxlib/cxxlib/include/hello_msg.h
share/examples/mk-configure/hello_cxxlib/cxxlib/include/impl/hello_msg1.h
share/examples/mk-configure/hello_cxxlib/cxxlib/include/impl/hello_msg2.h
share/examples/mk-configure/hello_cxxlib/cxxlib/linkme.mk
share/examples/mk-configure/hello_cxxlib/expect.out
share/examples/mk-configure/hello_cxxlib/test.mk
share/examples/mk-configure/hello_dictd/Makefile
share/examples/mk-configure/hello_dictd/Makefile.inc
share/examples/mk-configure/hello_dictd/dict/Makefile
share/examples/mk-configure/hello_dictd/dict/dict.1
share/examples/mk-configure/hello_dictd/dict/dict.c
share/examples/mk-configure/hello_dictd/dictd/Makefile
share/examples/mk-configure/hello_dictd/dictd/dictd.8
share/examples/mk-configure/hello_dictd/dictd/dictd.c
share/examples/mk-configure/hello_dictd/dictfmt/Makefile
share/examples/mk-configure/hello_dictd/dictfmt/dictfmt.1
share/examples/mk-configure/hello_dictd/dictfmt/dictfmt.c
share/examples/mk-configure/hello_dictd/dictzip/Makefile
share/examples/mk-configure/hello_dictd/dictzip/dictzip.1
share/examples/mk-configure/hello_dictd/dictzip/dictzip.c
share/examples/mk-configure/hello_dictd/doc/Makefile
share/examples/mk-configure/hello_dictd/doc/doc.txt
share/examples/mk-configure/hello_dictd/expect.out
share/examples/mk-configure/hello_dictd/libcommon/Makefile
share/examples/mk-configure/hello_dictd/libcommon/iswalnum.c
share/examples/mk-configure/hello_dictd/libcommon/str.c
share/examples/mk-configure/hello_dictd/libdz/Makefile
share/examples/mk-configure/hello_dictd/libdz/dz.c
share/examples/mk-configure/hello_dictd/libdz/export.sym
share/examples/mk-configure/hello_dictd/libmaa/Makefile
share/examples/mk-configure/hello_dictd/libmaa/export.sym
share/examples/mk-configure/hello_dictd/libmaa/log.c
share/examples/mk-configure/hello_dictd/libmaa/prime.c
share/examples/mk-configure/hello_dictd/libmaa/set.c
share/examples/mk-configure/hello_dictd/test.mk
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.
2014-09-14 15:11:39 +02:00
share/examples/mk-configure/hello_errwarn/Makefile
share/examples/mk-configure/hello_errwarn/Makefile.inc
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.
2014-09-14 15:11:39 +02:00
share/examples/mk-configure/hello_errwarn/expect.out
share/examples/mk-configure/hello_errwarn/hello.c
share/examples/mk-configure/hello_errwarn/test.mk
share/examples/mk-configure/hello_fgetln/Makefile
share/examples/mk-configure/hello_fgetln/expect.out
share/examples/mk-configure/hello_fgetln/hello.c
share/examples/mk-configure/hello_fgetln/test.mk
share/examples/mk-configure/hello_files/DEBIAN/control
share/examples/mk-configure/hello_files/Makefile
share/examples/mk-configure/hello_files/expect.NetBSD.out
share/examples/mk-configure/hello_files/expect.out
share/examples/mk-configure/hello_files/shell_func.7
share/examples/mk-configure/hello_files/shell_func.texinfo
share/examples/mk-configure/hello_files/shell_func1
share/examples/mk-configure/hello_files/shell_func2
share/examples/mk-configure/hello_files/shell_func3
share/examples/mk-configure/hello_files/test.mk
share/examples/mk-configure/hello_glib2/Makefile
share/examples/mk-configure/hello_glib2/expect.out
share/examples/mk-configure/hello_glib2/hello_glib2.c
share/examples/mk-configure/hello_glib2/test.mk
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.
2014-02-04 03:53:01 +01:00
share/examples/mk-configure/hello_iconv/Makefile
share/examples/mk-configure/hello_iconv/expect.out
share/examples/mk-configure/hello_iconv/hello_iconv.c
share/examples/mk-configure/hello_iconv/test.mk
share/examples/mk-configure/hello_lex/Makefile
share/examples/mk-configure/hello_lex/expect.out
share/examples/mk-configure/hello_lex/hello_lex.l
share/examples/mk-configure/hello_lex/input.txt
share/examples/mk-configure/hello_lex/test.mk
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.
2014-09-14 15:11:39 +02:00
share/examples/mk-configure/hello_libdeps/Makefile
share/examples/mk-configure/hello_libdeps/expect.out
share/examples/mk-configure/hello_libdeps/libs/libbar/Makefile
share/examples/mk-configure/hello_libdeps/libs/libbar/bar.c
share/examples/mk-configure/hello_libdeps/libs/libbar/bar.h
share/examples/mk-configure/hello_libdeps/libs/libbaz/Makefile
share/examples/mk-configure/hello_libdeps/libs/libbaz/baz.c
share/examples/mk-configure/hello_libdeps/libs/libbaz/include/baz.h
share/examples/mk-configure/hello_libdeps/libs/libbaz/linkme.mk
share/examples/mk-configure/hello_libdeps/libs/libfoo/Makefile
share/examples/mk-configure/hello_libdeps/libs/libfoo/foo.c
share/examples/mk-configure/hello_libdeps/libs/libfoo/foo.h
share/examples/mk-configure/hello_libdeps/libs/libfoo/linkme.mk
share/examples/mk-configure/hello_libdeps/libs/libfooqux/Makefile
share/examples/mk-configure/hello_libdeps/libs/libfooqux/fooqux.c
share/examples/mk-configure/hello_libdeps/libs/libfooqux/fooqux.h
share/examples/mk-configure/hello_libdeps/progs/foobaz/Makefile
share/examples/mk-configure/hello_libdeps/progs/foobaz/foobaz.c
share/examples/mk-configure/hello_libdeps/progs/fooquxfoobar/Makefile
share/examples/mk-configure/hello_libdeps/progs/fooquxfoobar/fooquxfoobar.c
share/examples/mk-configure/hello_libdeps/test.mk
share/examples/mk-configure/hello_lua/Makefile
share/examples/mk-configure/hello_lua/bar.lua
share/examples/mk-configure/hello_lua/baz.c
share/examples/mk-configure/hello_lua/expect.out
share/examples/mk-configure/hello_lua/foo.lua
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.
2014-01-02 00:59:27 +01:00
share/examples/mk-configure/hello_lua/foobar.in
share/examples/mk-configure/hello_lua/test.mk
share/examples/mk-configure/hello_lua2/Makefile
share/examples/mk-configure/hello_lua2/bar.lua
share/examples/mk-configure/hello_lua2/expect.out
share/examples/mk-configure/hello_lua2/foo.lua
share/examples/mk-configure/hello_lua2/foobar
share/examples/mk-configure/hello_lua2/test.mk
share/examples/mk-configure/hello_lua3/Makefile
share/examples/mk-configure/hello_lua3/expect.out
share/examples/mk-configure/hello_lua3/socket_bar.lua
share/examples/mk-configure/hello_lua3/socket_baz.c
share/examples/mk-configure/hello_lua3/socket_foo.lua
share/examples/mk-configure/hello_lua3/test.mk
share/examples/mk-configure/hello_plugins/Makefile
share/examples/mk-configure/hello_plugins/app/Makefile
share/examples/mk-configure/hello_plugins/app/app.c
share/examples/mk-configure/hello_plugins/expect.out
share/examples/mk-configure/hello_plugins/plugin1/Makefile
share/examples/mk-configure/hello_plugins/plugin1/plugin1.c
share/examples/mk-configure/hello_plugins/plugin2/Makefile
share/examples/mk-configure/hello_plugins/plugin2/plugin2.c
share/examples/mk-configure/hello_plugins/test.mk
share/examples/mk-configure/hello_plugins2/Makefile
share/examples/mk-configure/hello_plugins2/app/Makefile
share/examples/mk-configure/hello_plugins2/app/app.c
share/examples/mk-configure/hello_plugins2/expect.out
share/examples/mk-configure/hello_plugins2/plugin1/Makefile
share/examples/mk-configure/hello_plugins2/plugin1/plugin1.c
share/examples/mk-configure/hello_plugins2/plugin2/Makefile
share/examples/mk-configure/hello_plugins2/plugin2/plugin2.c
share/examples/mk-configure/hello_plugins2/test.mk
share/examples/mk-configure/hello_progs/Makefile
share/examples/mk-configure/hello_progs/client.c
share/examples/mk-configure/hello_progs/client_puts.c
share/examples/mk-configure/hello_progs/expect.out
share/examples/mk-configure/hello_progs/server.c
share/examples/mk-configure/hello_progs/server_puts.c
share/examples/mk-configure/hello_progs/test.mk
share/examples/mk-configure/hello_progs2/Makefile
share/examples/mk-configure/hello_progs2/client.c
share/examples/mk-configure/hello_progs2/common.c
share/examples/mk-configure/hello_progs2/expect.out
share/examples/mk-configure/hello_progs2/server.c
share/examples/mk-configure/hello_progs2/test.mk
share/examples/mk-configure/hello_require_tools/Makefile
share/examples/mk-configure/hello_require_tools/fake
share/examples/mk-configure/hello_requirements/Makefile
share/examples/mk-configure/hello_requirements/custom_check1.c
share/examples/mk-configure/hello_requirements/custom_check2.c
share/examples/mk-configure/hello_requirements/expect.out
share/examples/mk-configure/hello_requirements/hello_world.c
share/examples/mk-configure/hello_requirements/test.mk
share/examples/mk-configure/hello_scripts/Makefile
share/examples/mk-configure/hello_scripts/expect.out
share/examples/mk-configure/hello_scripts/hello_world.1
share/examples/mk-configure/hello_scripts/hello_world2
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.
2014-09-14 15:11:39 +02:00
share/examples/mk-configure/hello_scripts/hello_world3.in
share/examples/mk-configure/hello_scripts/main.c
share/examples/mk-configure/hello_scripts/more_scripts/script1
share/examples/mk-configure/hello_scripts/more_scripts/script2
share/examples/mk-configure/hello_scripts/more_scripts/script3
share/examples/mk-configure/hello_scripts/msg.c
share/examples/mk-configure/hello_scripts/test.mk
share/examples/mk-configure/hello_sizeof/Makefile
share/examples/mk-configure/hello_sizeof/expect.out
share/examples/mk-configure/hello_sizeof/sizeof_test.c
share/examples/mk-configure/hello_sizeof/test.mk
share/examples/mk-configure/hello_strlcpy/Makefile
share/examples/mk-configure/hello_strlcpy/expect.out
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.
2014-01-02 00:59:27 +01:00
share/examples/mk-configure/hello_strlcpy/getline.c
share/examples/mk-configure/hello_strlcpy/hello.c
share/examples/mk-configure/hello_strlcpy/input.in
share/examples/mk-configure/hello_strlcpy/strlcpy.c
share/examples/mk-configure/hello_strlcpy/test.mk
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.
2014-02-04 03:53:01 +01:00
share/examples/mk-configure/hello_strlcpy2/Makefile
share/examples/mk-configure/hello_strlcpy2/expect.out
share/examples/mk-configure/hello_strlcpy2/hello.c
share/examples/mk-configure/hello_strlcpy2/input.in
share/examples/mk-configure/hello_strlcpy2/missing/getline.c
share/examples/mk-configure/hello_strlcpy2/missing/strlcpy.c
share/examples/mk-configure/hello_strlcpy2/test.mk
share/examples/mk-configure/hello_strlcpy3/Makefile
share/examples/mk-configure/hello_strlcpy3/expect.out
share/examples/mk-configure/hello_strlcpy3/hello.c
share/examples/mk-configure/hello_strlcpy3/input.in
share/examples/mk-configure/hello_strlcpy3/test.mk
share/examples/mk-configure/hello_subdirs/Makefile
share/examples/mk-configure/hello_subdirs/prog1/Makefile
share/examples/mk-configure/hello_subdirs/prog1/expect.out
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.
2014-09-14 15:11:39 +02:00
share/examples/mk-configure/hello_subdirs/prog1/prog1.awk.in
share/examples/mk-configure/hello_subdirs/prog1/prog1.c
share/examples/mk-configure/hello_subdirs/prog1/prog1.sh
share/examples/mk-configure/hello_subdirs/prog1/test.mk
share/examples/mk-configure/hello_subdirs/prog2/Makefile
share/examples/mk-configure/hello_subdirs/prog2/expect.out
share/examples/mk-configure/hello_subdirs/prog2/prog2.c
share/examples/mk-configure/hello_subdirs/prog2/test.mk
share/examples/mk-configure/hello_superfs/Makefile
share/examples/mk-configure/hello_superfs/Makefile.inc
share/examples/mk-configure/hello_superfs/docs/LICENSE
share/examples/mk-configure/hello_superfs/docs/Makefile
share/examples/mk-configure/hello_superfs/docs/NEWS
share/examples/mk-configure/hello_superfs/docs/README
share/examples/mk-configure/hello_superfs/expect.out
share/examples/mk-configure/hello_superfs/fsck_superfs/Makefile
share/examples/mk-configure/hello_superfs/fsck_superfs/fsck_superfs.8
share/examples/mk-configure/hello_superfs/fsck_superfs/fsck_superfs.c
share/examples/mk-configure/hello_superfs/mkfs_superfs/Makefile
share/examples/mk-configure/hello_superfs/mkfs_superfs/mkfs_superfs.8
share/examples/mk-configure/hello_superfs/mkfs_superfs/mkfs_superfs.c
share/examples/mk-configure/hello_superfs/test.mk
share/examples/mk-configure/hello_world/COPYRIGHT
share/examples/mk-configure/hello_world/Makefile
share/examples/mk-configure/hello_world/README
share/examples/mk-configure/hello_world/expect.out
share/examples/mk-configure/hello_world/hello_world.c
share/examples/mk-configure/hello_world/test.mk
share/examples/mk-configure/hello_xxzip/Makefile
share/examples/mk-configure/hello_xxzip/expect.out
share/examples/mk-configure/hello_xxzip/test.mk
share/examples/mk-configure/hello_xxzip/tutorial.pod
share/examples/mk-configure/hello_xxzip/xxzip.c
share/examples/mk-configure/hello_xxzip/xxzip.pod
share/examples/mk-configure/hello_yacc/Makefile
share/examples/mk-configure/hello_yacc/calc.y
share/examples/mk-configure/hello_yacc/expect.out
share/examples/mk-configure/hello_yacc/input.txt
share/examples/mk-configure/hello_yacc/test.mk
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.
2014-02-04 03:53:01 +01:00
share/examples/mk-configure/pkgconfig3/Makefile
share/examples/mk-configure/pkgconfig3/expect.out
share/examples/mk-configure/pkgconfig3/pkgconfig3.c
share/examples/mk-configure/pkgconfig3/test.mk
share/examples/mk-configure/subprojects/Makefile
share/examples/mk-configure/subprojects/expect.out
share/examples/mk-configure/subprojects/hello/Makefile
share/examples/mk-configure/subprojects/hello/hello_subprojects.1.in
share/examples/mk-configure/subprojects/hello/hello_subprojects.c
share/examples/mk-configure/subprojects/hello/hello_subprojects2.in
share/examples/mk-configure/subprojects/hello/test.mk
share/examples/mk-configure/subprojects/libhello1/Makefile
share/examples/mk-configure/subprojects/libhello1/hello1.c
share/examples/mk-configure/subprojects/libhello1/hello1.h
share/examples/mk-configure/subprojects/libhello1/linkme.mk
share/examples/mk-configure/subprojects/libhello2/Makefile
share/examples/mk-configure/subprojects/libhello2/hello2.3
share/examples/mk-configure/subprojects/libhello2/hello2.c
share/examples/mk-configure/subprojects/libhello2/include/hello2.h
share/examples/mk-configure/subprojects/libhello2/linkme.mk
share/examples/mk-configure/subprojects/test.mk
share/examples/mk-configure/subprojects/version.mk
share/examples/mk-configure/tools/Makefile
share/examples/mk-configure/tools/expect.out
share/examples/mk-configure/tools/libs/bar/Makefile
share/examples/mk-configure/tools/libs/bar/bar.c
share/examples/mk-configure/tools/libs/bar/bar.h
share/examples/mk-configure/tools/libs/foo/Makefile
share/examples/mk-configure/tools/libs/foo/foo.c
share/examples/mk-configure/tools/libs/foo/foo.h
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.
2014-01-02 00:59:27 +01:00
share/examples/mk-configure/tools/libs/qux/Makefile
share/examples/mk-configure/tools/libs/qux/qux.c
share/examples/mk-configure/tools/libs/qux/qux.h.in
share/examples/mk-configure/tools/test.mk
share/examples/mk-configure/tools/tools/prog1/Makefile
share/examples/mk-configure/tools/tools/prog1/prog1.c
share/examples/mk-configure/tools/tools/prog2/Makefile
share/examples/mk-configure/tools/tools/prog2/prog2.c
share/examples/mk-configure/tools/tools/prog3/Makefile
share/examples/mk-configure/tools/tools/prog3/prog3.c
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.
2014-01-02 00:59:27 +01:00
share/examples/mk-configure/tools/tools/prog4/Makefile
share/examples/mk-configure/tools/tools/prog4/prog4.c
share/examples/mk-configure/tools2/Makefile
share/examples/mk-configure/tools2/expect.out
share/examples/mk-configure/tools2/libs/bar/Makefile
share/examples/mk-configure/tools2/libs/bar/bar.c
share/examples/mk-configure/tools2/libs/bar/bar.h
share/examples/mk-configure/tools2/libs/foo/Makefile
share/examples/mk-configure/tools2/libs/foo/foo.c
share/examples/mk-configure/tools2/libs/foo/foo.h
share/examples/mk-configure/tools2/libs/qux/Makefile
share/examples/mk-configure/tools2/libs/qux/qux.c
share/examples/mk-configure/tools2/libs/qux/qux.h.in
share/examples/mk-configure/tools2/test.mk
share/examples/mk-configure/tools2/tests/prog1/Makefile
share/examples/mk-configure/tools2/tests/prog2/Makefile
share/examples/mk-configure/tools2/tests/prog3/Makefile
share/examples/mk-configure/tools2/tests/prog4/Makefile
share/examples/mk-configure/tools2/tools/prog1/Makefile
share/examples/mk-configure/tools2/tools/prog1/prog1.c
share/examples/mk-configure/tools2/tools/prog2/Makefile
share/examples/mk-configure/tools2/tools/prog2/prog2.c
share/examples/mk-configure/tools2/tools/prog3/Makefile
share/examples/mk-configure/tools2/tools/prog3/prog3.c
share/examples/mk-configure/tools2/tools/prog4/Makefile
share/examples/mk-configure/tools2/tools/prog4/prog4.c
share/mk-configure/builtins/easy.c
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.
2014-09-14 15:11:39 +02:00
share/mk-configure/builtins/endianness
share/mk-configure/builtins/prog_bison
share/mk-configure/builtins/prog_flex
share/mk-configure/builtins/prog_gawk
share/mk-configure/builtins/prog_gm4
share/mk-configure/builtins/prog_gmake
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.
2014-02-04 03:53:01 +01:00
share/mk-configure/features/getline/getline.c
share/mk-configure/features/mkc_CIRCLEQ.h
share/mk-configure/features/mkc_LIST.h
share/mk-configure/features/mkc_RB.h
share/mk-configure/features/mkc_SIMPLEQ.h
share/mk-configure/features/mkc_SLIST.h
share/mk-configure/features/mkc_SPLAY.h
share/mk-configure/features/mkc_STAILQ.h
share/mk-configure/features/mkc_TAILQ.h
share/mk-configure/features/mkc_getline.h
share/mk-configure/features/mkc_libdl.h
share/mk-configure/features/mkc_libm.h
share/mk-configure/features/mkc_strlcat.h
share/mk-configure/features/mkc_strlcpy.h
share/mk-configure/features/netbsd_sys_queue.h
share/mk-configure/features/netbsd_sys_tree.h
share/mk-configure/features/strlcat/strlcat.c
share/mk-configure/features/strlcpy/strlcpy.c
share/mkc-mk/mkc.configure.mk
share/mkc-mk/mkc.files.mk
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.
2014-01-02 00:59:27 +01:00
share/mkc-mk/mkc.init.mk
share/mkc-mk/mkc.intexts.mk
share/mkc-mk/mkc.lib.mk
share/mkc-mk/mkc.minitest.mk
share/mkc-mk/mkc.mk
share/mkc-mk/mkc.pkg-config.mk
share/mkc-mk/mkc.prog.mk
share/mkc-mk/mkc.subdir.mk
share/mkc-mk/mkc.subprj.mk
share/mkc-mk/mkc.subprjs.mk
share/mkc-mk/mkc_imp.arch.mk
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.
2014-02-04 03:53:01 +01:00
share/mkc-mk/mkc_imp.checkprogs.mk
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.
2014-09-14 15:11:39 +02:00
share/mkc-mk/mkc_imp.conf-cleanup.mk
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.
2014-02-04 03:53:01 +01:00
share/mkc-mk/mkc_imp.conf-final.mk
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.
2014-09-14 15:11:39 +02:00
share/mkc-mk/mkc_imp.conf.mk
share/mkc-mk/mkc_imp.dep.mk
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.
2014-09-14 15:11:39 +02:00
share/mkc-mk/mkc_imp.dpvars.mk
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.
2014-02-04 03:53:01 +01:00
share/mkc-mk/mkc_imp.f_CIRCLEQ.mk
share/mkc-mk/mkc_imp.f_LIST.mk
share/mkc-mk/mkc_imp.f_RB.mk
share/mkc-mk/mkc_imp.f_SIMPLEQ.mk
share/mkc-mk/mkc_imp.f_SLIST.mk
share/mkc-mk/mkc_imp.f_SPLAY.mk
share/mkc-mk/mkc_imp.f_STAILQ.mk
share/mkc-mk/mkc_imp.f_TAILQ.mk
share/mkc-mk/mkc_imp.f_getline.mk
share/mkc-mk/mkc_imp.f_libdl.mk
share/mkc-mk/mkc_imp.f_libm.mk
share/mkc-mk/mkc_imp.f_strlcat.mk
share/mkc-mk/mkc_imp.f_strlcpy.mk
share/mkc-mk/mkc_imp.files.mk
share/mkc-mk/mkc_imp.final.mk
share/mkc-mk/mkc_imp.inc.mk
share/mkc-mk/mkc_imp.info.mk
share/mkc-mk/mkc_imp.intexts.mk
share/mkc-mk/mkc_imp.lib.mk
share/mkc-mk/mkc_imp.links.mk
share/mkc-mk/mkc_imp.lua.mk
share/mkc-mk/mkc_imp.man.mk
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.
2014-01-02 00:59:27 +01:00
share/mkc-mk/mkc_imp.mk
share/mkc-mk/mkc_imp.obj.mk
share/mkc-mk/mkc_imp.objdir.mk
share/mkc-mk/mkc_imp.pkg-config.mk
share/mkc-mk/mkc_imp.platform.sys.mk
share/mkc-mk/mkc_imp.pod.mk
share/mkc-mk/mkc_imp.preinit.mk
share/mkc-mk/mkc_imp.prog.mk
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.
2014-02-04 03:53:01 +01:00
share/mkc-mk/mkc_imp.rules.mk
share/mkc-mk/mkc_imp.scripts.mk
share/mkc-mk/mkc_imp.subprj.mk
share/mkc-mk/mkc_imp.vars.mk
share/mkc-mk/sys.mk