pkgsrc-wip/mk-configure/PLIST

285 lines
13 KiB
Text
Raw Normal View History

@comment $NetBSD: PLIST,v 1.20 2010/10/24 15:52:23 cheusov Exp $
2009-03-29 18:08:00 +02:00
bin/mkc_check_common.sh
Update to release 0.13.0 CC, CXX and LD types are automatically detected and options passed to them (e.g. options for generating a position independent code or options for building a shared library) depend on this type. At the moment the following systems and compilers are supported: - NetBSD. Tested under NetBSD-5.0/x86 and NetBSD-2.0/alpha with gcc and pcc (Portable C compiler). - FreeBSD. Tested under FreeBSD-6.2/x86, 7.1/spark64 and 7.1/x86 with gcc. - OpenBSD. Tested under OpenBSD-3.8/x86 and 4.5/x86 with gcc. - Solaris. Tested under Solaris-10/x86 and Solaris-10/spark64 with sunpro-11, sunpro-12 and gcc. - Darwin (MacOS-X). Tested under Darwin-8.11.0/ppc (MacOS-X Tiger) with native gcc. - Interix. Tested under Interix-3.5/x86 with gcc. - QNX. Tested under QNX-6.3/x86 with gcc. - Partial support for AIX, HP-UX and Tru64 and their native compilers and linkers. Support is not complete because I have no access to "big iron". Any help? ;-) If you don't see your favourite system/compiler here and want to help me to improve mk-configure, feel free to contact me. mk-configure needs your help! ;-) The default directory for mk-files is ${PREFIX}/share/mkc-mk, where an empty sys.mk is installed unless NOSYSMK is defined whil installation. See an explanation about this in README. So called built-in checks are implemented. See MKC_CHECK_BUILTINS variable. Built-in checks are checks provided by mk-configure. At the moment the following checks are implemented: endianess, prog_flex, prog_bison, prog_gawk, prog_gm4. See mk-configure.7 for the documentation. mkc.configure.mk: - At the end of this file MKC_{REQUIRE,CHECK}_XXX variables as well as MKC_{CFLAGS,LDADD,SRCS} are .undef-ed. This allows one to .include mkc.configure.mk several times. - This include file is activated automatically from mkc.prog.mk and mkc.lib.mk. You need to .include mkc.configure.mk explicitely only if postcheck actions are needed. SCRIPTS variable can contain subdir/<script>s, they are installed just as <script>s, i.e. subdir/ is silently stripped. SCRIPTSDIR_subdir_<script> and SCRIPTSNAME_subdir_<script> can be used for specifying an alternative destination path and filename. If .l or .y source files are listed in SRCS variable, mk-configure automatically checks weather ${LEX} and ${YACC} are available or not. The same for .c/${CC}, .cpp|.cc|.cxx|.C/${CXX}, .f/${FC} and .p/${PC}. In case of absense of appropriate tool bmake exits with error on early stage. MKC_CHECK_CUSTOM, MKC_REQUIRE_CUSTOM: - HAVE_CUSTOM.xxx bmake's variables and HAVE_CUSTOM_xxx #defines have been renamed to CUSTOM.xxx and CUSTOM_xxx respectively. Formally speaking this breaks backward compatibility with earlier mk-c releases. - Support for checks written in C++ (.cc, .cxx, .C and .cpp) and Fortran (.f) is added. - Support for checks implemented as an executable program/script is added. FIXES: - mkc_imp.man.mk: useless TMACDIR and dependencies on tmac files under /usr/share are removed - mkc_check_decl: void function() cannot 'return 0' (thanks to SunPro compiler!) - If C++ source files are listed in SRCS, ${CXX} is used as a linker both for executables and shared libraries. - Linux, SunOS and lots of others have no "wheel" group. They use "root". - "make installdirs" should not create man/htmlN directories unless MKHTML is set to "yes" - mkc_imp.lib.mk: .so build rule must use ${LDFLAGS} ADDED: mkcmake utility (trivial wrapper over bmake) which should be used for building a software instead of bmake. .c:, .f:, .l: and similar useless rules are removed. It is enough to have .c.o:, .f.o:, .l.c etc. Improvements for cross-compilation. Lots of new regression tests: mkc_check_common.sh: if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are removed. Support for lex: -ll is added to linker if needed. mkc_check_compiler: - Added support for the following compilers: IBM Visual Age, HP cc/aCC, SunPro C/C++, Watcom, Borland, DEC C/C++ and Comeau C/C++ - New option '-x' for checking C++ compiler type. mkc_which: Accepts full paths. /path/to/program -> /path/to/program In order to avoid confusion, position independent object files (.so) have been renamed to .os. Also, .po has been renamed to .op. mkc_imp.lib.mk: - suffix rules for .cpp, widely used extension for C++ sources, are added. - LDCOMPILER variable is introduced, if "yes", compiler is used for linking a shared library. INCSSRCDIR variable is introduced, see the documentation. mkc_install: New utility for platforms having no BSD compatible install(1). INSTALL variable is set to mkc_install if needed. mkc.intexts.mk is included from mkc.prog.mk and mkc.lib.mk automatically just like mkc_imp.*.mk includes.
2009-12-27 16:46:33 +01:00
bin/mkc_check_compiler
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
bin/mkc_check_custom
bin/mkc_check_decl
bin/mkc_check_funclib
bin/mkc_check_header
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
bin/mkc_check_prog
bin/mkc_check_sizeof
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
bin/mkc_check_version
Update to release 0.13.0 CC, CXX and LD types are automatically detected and options passed to them (e.g. options for generating a position independent code or options for building a shared library) depend on this type. At the moment the following systems and compilers are supported: - NetBSD. Tested under NetBSD-5.0/x86 and NetBSD-2.0/alpha with gcc and pcc (Portable C compiler). - FreeBSD. Tested under FreeBSD-6.2/x86, 7.1/spark64 and 7.1/x86 with gcc. - OpenBSD. Tested under OpenBSD-3.8/x86 and 4.5/x86 with gcc. - Solaris. Tested under Solaris-10/x86 and Solaris-10/spark64 with sunpro-11, sunpro-12 and gcc. - Darwin (MacOS-X). Tested under Darwin-8.11.0/ppc (MacOS-X Tiger) with native gcc. - Interix. Tested under Interix-3.5/x86 with gcc. - QNX. Tested under QNX-6.3/x86 with gcc. - Partial support for AIX, HP-UX and Tru64 and their native compilers and linkers. Support is not complete because I have no access to "big iron". Any help? ;-) If you don't see your favourite system/compiler here and want to help me to improve mk-configure, feel free to contact me. mk-configure needs your help! ;-) The default directory for mk-files is ${PREFIX}/share/mkc-mk, where an empty sys.mk is installed unless NOSYSMK is defined whil installation. See an explanation about this in README. So called built-in checks are implemented. See MKC_CHECK_BUILTINS variable. Built-in checks are checks provided by mk-configure. At the moment the following checks are implemented: endianess, prog_flex, prog_bison, prog_gawk, prog_gm4. See mk-configure.7 for the documentation. mkc.configure.mk: - At the end of this file MKC_{REQUIRE,CHECK}_XXX variables as well as MKC_{CFLAGS,LDADD,SRCS} are .undef-ed. This allows one to .include mkc.configure.mk several times. - This include file is activated automatically from mkc.prog.mk and mkc.lib.mk. You need to .include mkc.configure.mk explicitely only if postcheck actions are needed. SCRIPTS variable can contain subdir/<script>s, they are installed just as <script>s, i.e. subdir/ is silently stripped. SCRIPTSDIR_subdir_<script> and SCRIPTSNAME_subdir_<script> can be used for specifying an alternative destination path and filename. If .l or .y source files are listed in SRCS variable, mk-configure automatically checks weather ${LEX} and ${YACC} are available or not. The same for .c/${CC}, .cpp|.cc|.cxx|.C/${CXX}, .f/${FC} and .p/${PC}. In case of absense of appropriate tool bmake exits with error on early stage. MKC_CHECK_CUSTOM, MKC_REQUIRE_CUSTOM: - HAVE_CUSTOM.xxx bmake's variables and HAVE_CUSTOM_xxx #defines have been renamed to CUSTOM.xxx and CUSTOM_xxx respectively. Formally speaking this breaks backward compatibility with earlier mk-c releases. - Support for checks written in C++ (.cc, .cxx, .C and .cpp) and Fortran (.f) is added. - Support for checks implemented as an executable program/script is added. FIXES: - mkc_imp.man.mk: useless TMACDIR and dependencies on tmac files under /usr/share are removed - mkc_check_decl: void function() cannot 'return 0' (thanks to SunPro compiler!) - If C++ source files are listed in SRCS, ${CXX} is used as a linker both for executables and shared libraries. - Linux, SunOS and lots of others have no "wheel" group. They use "root". - "make installdirs" should not create man/htmlN directories unless MKHTML is set to "yes" - mkc_imp.lib.mk: .so build rule must use ${LDFLAGS} ADDED: mkcmake utility (trivial wrapper over bmake) which should be used for building a software instead of bmake. .c:, .f:, .l: and similar useless rules are removed. It is enough to have .c.o:, .f.o:, .l.c etc. Improvements for cross-compilation. Lots of new regression tests: mkc_check_common.sh: if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are removed. Support for lex: -ll is added to linker if needed. mkc_check_compiler: - Added support for the following compilers: IBM Visual Age, HP cc/aCC, SunPro C/C++, Watcom, Borland, DEC C/C++ and Comeau C/C++ - New option '-x' for checking C++ compiler type. mkc_which: Accepts full paths. /path/to/program -> /path/to/program In order to avoid confusion, position independent object files (.so) have been renamed to .os. Also, .po has been renamed to .op. mkc_imp.lib.mk: - suffix rules for .cpp, widely used extension for C++ sources, are added. - LDCOMPILER variable is introduced, if "yes", compiler is used for linking a shared library. INCSSRCDIR variable is introduced, see the documentation. mkc_install: New utility for platforms having no BSD compatible install(1). INSTALL variable is set to mkc_install if needed. mkc.intexts.mk is included from mkc.prog.mk and mkc.lib.mk automatically just like mkc_imp.*.mk includes.
2009-12-27 16:46:33 +01:00
bin/mkc_install
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
bin/mkc_test_helper
bin/mkc_which
Update to release 0.13.0 CC, CXX and LD types are automatically detected and options passed to them (e.g. options for generating a position independent code or options for building a shared library) depend on this type. At the moment the following systems and compilers are supported: - NetBSD. Tested under NetBSD-5.0/x86 and NetBSD-2.0/alpha with gcc and pcc (Portable C compiler). - FreeBSD. Tested under FreeBSD-6.2/x86, 7.1/spark64 and 7.1/x86 with gcc. - OpenBSD. Tested under OpenBSD-3.8/x86 and 4.5/x86 with gcc. - Solaris. Tested under Solaris-10/x86 and Solaris-10/spark64 with sunpro-11, sunpro-12 and gcc. - Darwin (MacOS-X). Tested under Darwin-8.11.0/ppc (MacOS-X Tiger) with native gcc. - Interix. Tested under Interix-3.5/x86 with gcc. - QNX. Tested under QNX-6.3/x86 with gcc. - Partial support for AIX, HP-UX and Tru64 and their native compilers and linkers. Support is not complete because I have no access to "big iron". Any help? ;-) If you don't see your favourite system/compiler here and want to help me to improve mk-configure, feel free to contact me. mk-configure needs your help! ;-) The default directory for mk-files is ${PREFIX}/share/mkc-mk, where an empty sys.mk is installed unless NOSYSMK is defined whil installation. See an explanation about this in README. So called built-in checks are implemented. See MKC_CHECK_BUILTINS variable. Built-in checks are checks provided by mk-configure. At the moment the following checks are implemented: endianess, prog_flex, prog_bison, prog_gawk, prog_gm4. See mk-configure.7 for the documentation. mkc.configure.mk: - At the end of this file MKC_{REQUIRE,CHECK}_XXX variables as well as MKC_{CFLAGS,LDADD,SRCS} are .undef-ed. This allows one to .include mkc.configure.mk several times. - This include file is activated automatically from mkc.prog.mk and mkc.lib.mk. You need to .include mkc.configure.mk explicitely only if postcheck actions are needed. SCRIPTS variable can contain subdir/<script>s, they are installed just as <script>s, i.e. subdir/ is silently stripped. SCRIPTSDIR_subdir_<script> and SCRIPTSNAME_subdir_<script> can be used for specifying an alternative destination path and filename. If .l or .y source files are listed in SRCS variable, mk-configure automatically checks weather ${LEX} and ${YACC} are available or not. The same for .c/${CC}, .cpp|.cc|.cxx|.C/${CXX}, .f/${FC} and .p/${PC}. In case of absense of appropriate tool bmake exits with error on early stage. MKC_CHECK_CUSTOM, MKC_REQUIRE_CUSTOM: - HAVE_CUSTOM.xxx bmake's variables and HAVE_CUSTOM_xxx #defines have been renamed to CUSTOM.xxx and CUSTOM_xxx respectively. Formally speaking this breaks backward compatibility with earlier mk-c releases. - Support for checks written in C++ (.cc, .cxx, .C and .cpp) and Fortran (.f) is added. - Support for checks implemented as an executable program/script is added. FIXES: - mkc_imp.man.mk: useless TMACDIR and dependencies on tmac files under /usr/share are removed - mkc_check_decl: void function() cannot 'return 0' (thanks to SunPro compiler!) - If C++ source files are listed in SRCS, ${CXX} is used as a linker both for executables and shared libraries. - Linux, SunOS and lots of others have no "wheel" group. They use "root". - "make installdirs" should not create man/htmlN directories unless MKHTML is set to "yes" - mkc_imp.lib.mk: .so build rule must use ${LDFLAGS} ADDED: mkcmake utility (trivial wrapper over bmake) which should be used for building a software instead of bmake. .c:, .f:, .l: and similar useless rules are removed. It is enough to have .c.o:, .f.o:, .l.c etc. Improvements for cross-compilation. Lots of new regression tests: mkc_check_common.sh: if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are removed. Support for lex: -ll is added to linker if needed. mkc_check_compiler: - Added support for the following compilers: IBM Visual Age, HP cc/aCC, SunPro C/C++, Watcom, Borland, DEC C/C++ and Comeau C/C++ - New option '-x' for checking C++ compiler type. mkc_which: Accepts full paths. /path/to/program -> /path/to/program In order to avoid confusion, position independent object files (.so) have been renamed to .os. Also, .po has been renamed to .op. mkc_imp.lib.mk: - suffix rules for .cpp, widely used extension for C++ sources, are added. - LDCOMPILER variable is introduced, if "yes", compiler is used for linking a shared library. INCSSRCDIR variable is introduced, see the documentation. mkc_install: New utility for platforms having no BSD compatible install(1). INSTALL variable is set to mkc_install if needed. mkc.intexts.mk is included from mkc.prog.mk and mkc.lib.mk automatically just like mkc_imp.*.mk includes.
2009-12-27 16:46:33 +01:00
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
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
man/man1/mkc_check_prog.1
man/man1/mkc_check_sizeof.1
Upgrade to 0.16.0 Support for Lua programming language. See documentation for mkc_imp.lua.mk in mk-configure(7). mkc.pkg-config.mk: - Significant improvements! For details see mk-configure(7) manual page and examples/hello_glib2 example. New supported variables: PKG_CONFIG.exists.<lib>, PKG_CONFIG_VARS.<lib> and PKG_CONFIG.var.<lib>.<var>. - becomes internal include file and therefore renamed to mkc_imp.pkg-config.mk. Symlink mkc.pkg-config.mk is provided for backward compatibility. mkc_imp.pkg-config.mk is included by mkc.prog.mk and mkc.lib.mk. mkc.intexts.mk: - becomes internal include file and therefore renamed to mkc_imp.intexts.mk. Symlink mkc.intexts.mk is provided for backward compatibility. It is included from mkc.prog.mk, mkc.lib.mk and mkc.files.mk. - New variable INTEXTS_REPLS. See mk-configure(7). mkc.lib.mk: - includes mkc_imp.intexts.mk - supports SCRIPTS* variables (includes newly created mkc_imp.scripts.mk) - New variable MKDLL for creating dinamically loaded libraries (<lib>.so). mkc_imp.subprj.mk: - New variable SUBPRJ_DFLT. See mk-configure(7). mkc.*.mk try to open ${MAKECONF}, @sysconfdir@/mk.conf and /etc/mk.conf. This is now documented. mk-configure.7 is reorganized. Several internal include files document their own variables. Further improvements of man page are needed. All boolean variables becomes case-insensitive. That is "no", "No", "NO" and "nO" are equal. The same for "yes", "Yes"... mkc_check_custom(1): - New options: -p, -n, -m and -s. Minor fixes and clean-ups in .mk files, tools and regression tests. New regression tests and examples.
2010-06-12 14:42:04 +02:00
man/man1/mkcmake.1
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
man/man7/mk-configure.7
2009-09-05 16:53:47 +02:00
share/doc/mk-configure/COPYRIGHT
share/doc/mk-configure/ChangeLog
share/doc/mk-configure/FAQ
share/doc/mk-configure/NEWS
share/doc/mk-configure/README
share/doc/mk-configure/TODO
Upgrade to 0.16.0 Support for Lua programming language. See documentation for mkc_imp.lua.mk in mk-configure(7). mkc.pkg-config.mk: - Significant improvements! For details see mk-configure(7) manual page and examples/hello_glib2 example. New supported variables: PKG_CONFIG.exists.<lib>, PKG_CONFIG_VARS.<lib> and PKG_CONFIG.var.<lib>.<var>. - becomes internal include file and therefore renamed to mkc_imp.pkg-config.mk. Symlink mkc.pkg-config.mk is provided for backward compatibility. mkc_imp.pkg-config.mk is included by mkc.prog.mk and mkc.lib.mk. mkc.intexts.mk: - becomes internal include file and therefore renamed to mkc_imp.intexts.mk. Symlink mkc.intexts.mk is provided for backward compatibility. It is included from mkc.prog.mk, mkc.lib.mk and mkc.files.mk. - New variable INTEXTS_REPLS. See mk-configure(7). mkc.lib.mk: - includes mkc_imp.intexts.mk - supports SCRIPTS* variables (includes newly created mkc_imp.scripts.mk) - New variable MKDLL for creating dinamically loaded libraries (<lib>.so). mkc_imp.subprj.mk: - New variable SUBPRJ_DFLT. See mk-configure(7). mkc.*.mk try to open ${MAKECONF}, @sysconfdir@/mk.conf and /etc/mk.conf. This is now documented. mk-configure.7 is reorganized. Several internal include files document their own variables. Further improvements of man page are needed. All boolean variables becomes case-insensitive. That is "no", "No", "NO" and "nO" are equal. The same for "yes", "Yes"... mkc_check_custom(1): - New options: -p, -n, -m and -s. Minor fixes and clean-ups in .mk files, tools and regression tests. New regression tests and examples.
2010-06-12 14:42:04 +02:00
share/doc/mk-configure/presentation.pdf
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
share/examples/mk-configure/Makefile
Update to 0.19.0 FIX: LPREFIX, YPREFIX and YHEADER now works as documented. Regression test for them is added. As of this release target "install" creates target directories by default, i.e. it envokes target "installdirs" before installing files. For disabling this behaviour, you may set MKINSTALLDIRS variable to "no". mkc.lib.mk: - New variable EXPORT_SYMBOLS for exporting (in shared object library) only specified symbols. At the moment the following platforms support this: Solaris and those using GNU ld, that is *BSD and Linux. - "ld -h" is enabled on Solaris. mkc.subdir.mk and mkc.subprj.mk: - Two new variables: EXPORT_VARNAMES and NOEXPORT_VARNAMES for exporting variables before building subprojects. By default MKC_CACHEDIR is exported. As a result _mkc_* cache files will be placed in one directory for all subprojects. - New variable NOSUBDIR for excluding specified subprojects from build. Useful side effect: by using this variable you may disable some regression tests while running "bmake test". - Makefile.rec file if present is included by ALL subprojects recursively. See tests/rec_makefiles. mkc.subprj.mk: - New target subdir-<trg>-<subdir>, synonym for nodeps-<trg>-<subdir>. mkc.configure.mk: - MKC_CHECK_PROGS: mkc_check_progs is not called if path to program is absolute. mk-configure.7 shows in <> typical place where variables shall be used. On Solaris LD=/usr/ccs/bin/ld by default. On QNX mkc_install is used as install program by default. mkc_check_custom: - FIXED: ambiguous arguments of command "test" (seen on QNX) regression tests: - New test examples/hello_plugins replacing examples/hello_dlopen and examples/hello_dll - New test examples/hello_calc
2010-09-03 22:52:11 +02:00
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
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
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
Update to release 0.13.0 CC, CXX and LD types are automatically detected and options passed to them (e.g. options for generating a position independent code or options for building a shared library) depend on this type. At the moment the following systems and compilers are supported: - NetBSD. Tested under NetBSD-5.0/x86 and NetBSD-2.0/alpha with gcc and pcc (Portable C compiler). - FreeBSD. Tested under FreeBSD-6.2/x86, 7.1/spark64 and 7.1/x86 with gcc. - OpenBSD. Tested under OpenBSD-3.8/x86 and 4.5/x86 with gcc. - Solaris. Tested under Solaris-10/x86 and Solaris-10/spark64 with sunpro-11, sunpro-12 and gcc. - Darwin (MacOS-X). Tested under Darwin-8.11.0/ppc (MacOS-X Tiger) with native gcc. - Interix. Tested under Interix-3.5/x86 with gcc. - QNX. Tested under QNX-6.3/x86 with gcc. - Partial support for AIX, HP-UX and Tru64 and their native compilers and linkers. Support is not complete because I have no access to "big iron". Any help? ;-) If you don't see your favourite system/compiler here and want to help me to improve mk-configure, feel free to contact me. mk-configure needs your help! ;-) The default directory for mk-files is ${PREFIX}/share/mkc-mk, where an empty sys.mk is installed unless NOSYSMK is defined whil installation. See an explanation about this in README. So called built-in checks are implemented. See MKC_CHECK_BUILTINS variable. Built-in checks are checks provided by mk-configure. At the moment the following checks are implemented: endianess, prog_flex, prog_bison, prog_gawk, prog_gm4. See mk-configure.7 for the documentation. mkc.configure.mk: - At the end of this file MKC_{REQUIRE,CHECK}_XXX variables as well as MKC_{CFLAGS,LDADD,SRCS} are .undef-ed. This allows one to .include mkc.configure.mk several times. - This include file is activated automatically from mkc.prog.mk and mkc.lib.mk. You need to .include mkc.configure.mk explicitely only if postcheck actions are needed. SCRIPTS variable can contain subdir/<script>s, they are installed just as <script>s, i.e. subdir/ is silently stripped. SCRIPTSDIR_subdir_<script> and SCRIPTSNAME_subdir_<script> can be used for specifying an alternative destination path and filename. If .l or .y source files are listed in SRCS variable, mk-configure automatically checks weather ${LEX} and ${YACC} are available or not. The same for .c/${CC}, .cpp|.cc|.cxx|.C/${CXX}, .f/${FC} and .p/${PC}. In case of absense of appropriate tool bmake exits with error on early stage. MKC_CHECK_CUSTOM, MKC_REQUIRE_CUSTOM: - HAVE_CUSTOM.xxx bmake's variables and HAVE_CUSTOM_xxx #defines have been renamed to CUSTOM.xxx and CUSTOM_xxx respectively. Formally speaking this breaks backward compatibility with earlier mk-c releases. - Support for checks written in C++ (.cc, .cxx, .C and .cpp) and Fortran (.f) is added. - Support for checks implemented as an executable program/script is added. FIXES: - mkc_imp.man.mk: useless TMACDIR and dependencies on tmac files under /usr/share are removed - mkc_check_decl: void function() cannot 'return 0' (thanks to SunPro compiler!) - If C++ source files are listed in SRCS, ${CXX} is used as a linker both for executables and shared libraries. - Linux, SunOS and lots of others have no "wheel" group. They use "root". - "make installdirs" should not create man/htmlN directories unless MKHTML is set to "yes" - mkc_imp.lib.mk: .so build rule must use ${LDFLAGS} ADDED: mkcmake utility (trivial wrapper over bmake) which should be used for building a software instead of bmake. .c:, .f:, .l: and similar useless rules are removed. It is enough to have .c.o:, .f.o:, .l.c etc. Improvements for cross-compilation. Lots of new regression tests: mkc_check_common.sh: if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are removed. Support for lex: -ll is added to linker if needed. mkc_check_compiler: - Added support for the following compilers: IBM Visual Age, HP cc/aCC, SunPro C/C++, Watcom, Borland, DEC C/C++ and Comeau C/C++ - New option '-x' for checking C++ compiler type. mkc_which: Accepts full paths. /path/to/program -> /path/to/program In order to avoid confusion, position independent object files (.so) have been renamed to .os. Also, .po has been renamed to .op. mkc_imp.lib.mk: - suffix rules for .cpp, widely used extension for C++ sources, are added. - LDCOMPILER variable is introduced, if "yes", compiler is used for linking a shared library. INCSSRCDIR variable is introduced, see the documentation. mkc_install: New utility for platforms having no BSD compatible install(1). INSTALL variable is set to mkc_install if needed. mkc.intexts.mk is included from mkc.prog.mk and mkc.lib.mk automatically just like mkc_imp.*.mk includes.
2009-12-27 16:46:33 +01:00
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
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
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
Update to release 0.13.0 CC, CXX and LD types are automatically detected and options passed to them (e.g. options for generating a position independent code or options for building a shared library) depend on this type. At the moment the following systems and compilers are supported: - NetBSD. Tested under NetBSD-5.0/x86 and NetBSD-2.0/alpha with gcc and pcc (Portable C compiler). - FreeBSD. Tested under FreeBSD-6.2/x86, 7.1/spark64 and 7.1/x86 with gcc. - OpenBSD. Tested under OpenBSD-3.8/x86 and 4.5/x86 with gcc. - Solaris. Tested under Solaris-10/x86 and Solaris-10/spark64 with sunpro-11, sunpro-12 and gcc. - Darwin (MacOS-X). Tested under Darwin-8.11.0/ppc (MacOS-X Tiger) with native gcc. - Interix. Tested under Interix-3.5/x86 with gcc. - QNX. Tested under QNX-6.3/x86 with gcc. - Partial support for AIX, HP-UX and Tru64 and their native compilers and linkers. Support is not complete because I have no access to "big iron". Any help? ;-) If you don't see your favourite system/compiler here and want to help me to improve mk-configure, feel free to contact me. mk-configure needs your help! ;-) The default directory for mk-files is ${PREFIX}/share/mkc-mk, where an empty sys.mk is installed unless NOSYSMK is defined whil installation. See an explanation about this in README. So called built-in checks are implemented. See MKC_CHECK_BUILTINS variable. Built-in checks are checks provided by mk-configure. At the moment the following checks are implemented: endianess, prog_flex, prog_bison, prog_gawk, prog_gm4. See mk-configure.7 for the documentation. mkc.configure.mk: - At the end of this file MKC_{REQUIRE,CHECK}_XXX variables as well as MKC_{CFLAGS,LDADD,SRCS} are .undef-ed. This allows one to .include mkc.configure.mk several times. - This include file is activated automatically from mkc.prog.mk and mkc.lib.mk. You need to .include mkc.configure.mk explicitely only if postcheck actions are needed. SCRIPTS variable can contain subdir/<script>s, they are installed just as <script>s, i.e. subdir/ is silently stripped. SCRIPTSDIR_subdir_<script> and SCRIPTSNAME_subdir_<script> can be used for specifying an alternative destination path and filename. If .l or .y source files are listed in SRCS variable, mk-configure automatically checks weather ${LEX} and ${YACC} are available or not. The same for .c/${CC}, .cpp|.cc|.cxx|.C/${CXX}, .f/${FC} and .p/${PC}. In case of absense of appropriate tool bmake exits with error on early stage. MKC_CHECK_CUSTOM, MKC_REQUIRE_CUSTOM: - HAVE_CUSTOM.xxx bmake's variables and HAVE_CUSTOM_xxx #defines have been renamed to CUSTOM.xxx and CUSTOM_xxx respectively. Formally speaking this breaks backward compatibility with earlier mk-c releases. - Support for checks written in C++ (.cc, .cxx, .C and .cpp) and Fortran (.f) is added. - Support for checks implemented as an executable program/script is added. FIXES: - mkc_imp.man.mk: useless TMACDIR and dependencies on tmac files under /usr/share are removed - mkc_check_decl: void function() cannot 'return 0' (thanks to SunPro compiler!) - If C++ source files are listed in SRCS, ${CXX} is used as a linker both for executables and shared libraries. - Linux, SunOS and lots of others have no "wheel" group. They use "root". - "make installdirs" should not create man/htmlN directories unless MKHTML is set to "yes" - mkc_imp.lib.mk: .so build rule must use ${LDFLAGS} ADDED: mkcmake utility (trivial wrapper over bmake) which should be used for building a software instead of bmake. .c:, .f:, .l: and similar useless rules are removed. It is enough to have .c.o:, .f.o:, .l.c etc. Improvements for cross-compilation. Lots of new regression tests: mkc_check_common.sh: if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are removed. Support for lex: -ll is added to linker if needed. mkc_check_compiler: - Added support for the following compilers: IBM Visual Age, HP cc/aCC, SunPro C/C++, Watcom, Borland, DEC C/C++ and Comeau C/C++ - New option '-x' for checking C++ compiler type. mkc_which: Accepts full paths. /path/to/program -> /path/to/program In order to avoid confusion, position independent object files (.so) have been renamed to .os. Also, .po has been renamed to .op. mkc_imp.lib.mk: - suffix rules for .cpp, widely used extension for C++ sources, are added. - LDCOMPILER variable is introduced, if "yes", compiler is used for linking a shared library. INCSSRCDIR variable is introduced, see the documentation. mkc_install: New utility for platforms having no BSD compatible install(1). INSTALL variable is set to mkc_install if needed. mkc.intexts.mk is included from mkc.prog.mk and mkc.lib.mk automatically just like mkc_imp.*.mk includes.
2009-12-27 16:46:33 +01:00
share/examples/mk-configure/hello_cxx/Makefile
share/examples/mk-configure/hello_cxx/expect.out
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/test.mk
share/examples/mk-configure/hello_cxxlib/Makefile
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
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/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
Upgrade to 0.16.0 Support for Lua programming language. See documentation for mkc_imp.lua.mk in mk-configure(7). mkc.pkg-config.mk: - Significant improvements! For details see mk-configure(7) manual page and examples/hello_glib2 example. New supported variables: PKG_CONFIG.exists.<lib>, PKG_CONFIG_VARS.<lib> and PKG_CONFIG.var.<lib>.<var>. - becomes internal include file and therefore renamed to mkc_imp.pkg-config.mk. Symlink mkc.pkg-config.mk is provided for backward compatibility. mkc_imp.pkg-config.mk is included by mkc.prog.mk and mkc.lib.mk. mkc.intexts.mk: - becomes internal include file and therefore renamed to mkc_imp.intexts.mk. Symlink mkc.intexts.mk is provided for backward compatibility. It is included from mkc.prog.mk, mkc.lib.mk and mkc.files.mk. - New variable INTEXTS_REPLS. See mk-configure(7). mkc.lib.mk: - includes mkc_imp.intexts.mk - supports SCRIPTS* variables (includes newly created mkc_imp.scripts.mk) - New variable MKDLL for creating dinamically loaded libraries (<lib>.so). mkc_imp.subprj.mk: - New variable SUBPRJ_DFLT. See mk-configure(7). mkc.*.mk try to open ${MAKECONF}, @sysconfdir@/mk.conf and /etc/mk.conf. This is now documented. mk-configure.7 is reorganized. Several internal include files document their own variables. Further improvements of man page are needed. All boolean variables becomes case-insensitive. That is "no", "No", "NO" and "nO" are equal. The same for "yes", "Yes"... mkc_check_custom(1): - New options: -p, -n, -m and -s. Minor fixes and clean-ups in .mk files, tools and regression tests. New regression tests and examples.
2010-06-12 14:42:04 +02:00
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/linkme.mk
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/libdz/linkme.mk
share/examples/mk-configure/hello_dictd/libmaa/Makefile
Update to 0.19.0 FIX: LPREFIX, YPREFIX and YHEADER now works as documented. Regression test for them is added. As of this release target "install" creates target directories by default, i.e. it envokes target "installdirs" before installing files. For disabling this behaviour, you may set MKINSTALLDIRS variable to "no". mkc.lib.mk: - New variable EXPORT_SYMBOLS for exporting (in shared object library) only specified symbols. At the moment the following platforms support this: Solaris and those using GNU ld, that is *BSD and Linux. - "ld -h" is enabled on Solaris. mkc.subdir.mk and mkc.subprj.mk: - Two new variables: EXPORT_VARNAMES and NOEXPORT_VARNAMES for exporting variables before building subprojects. By default MKC_CACHEDIR is exported. As a result _mkc_* cache files will be placed in one directory for all subprojects. - New variable NOSUBDIR for excluding specified subprojects from build. Useful side effect: by using this variable you may disable some regression tests while running "bmake test". - Makefile.rec file if present is included by ALL subprojects recursively. See tests/rec_makefiles. mkc.subprj.mk: - New target subdir-<trg>-<subdir>, synonym for nodeps-<trg>-<subdir>. mkc.configure.mk: - MKC_CHECK_PROGS: mkc_check_progs is not called if path to program is absolute. mk-configure.7 shows in <> typical place where variables shall be used. On Solaris LD=/usr/ccs/bin/ld by default. On QNX mkc_install is used as install program by default. mkc_check_custom: - FIXED: ambiguous arguments of command "test" (seen on QNX) regression tests: - New test examples/hello_plugins replacing examples/hello_dlopen and examples/hello_dll - New test examples/hello_calc
2010-09-03 22:52:11 +02:00
share/examples/mk-configure/hello_dictd/libmaa/export.sym
share/examples/mk-configure/hello_dictd/libmaa/linkme.mk
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 0.18.0 Several new variables are introduced: - LUA_LMODDIR and LUA_CMODDIR - installation directories for Lua modules written in Lua and C. - MKC_VERSION is now documented. - MLINKS now works just like in NetBSD. - CFLAGS.warns.<cctype>.<warn-level> and CXXFLAGS.warns.<cctype>.<warn-level> are now documented. Feel free to set them in sys.mk before installation. - WARNERR for forcing warnings to be reported as errors. New targets are introduced: bin_tar, bin_targz, bin_tarbz2, bin_zip and bin_deb for creating archive files or .deb package containing an installation image (Ex: examples/hello_files). This also introduces new variables: TAR, GZIP, BZIP2 and ZIP. Documentation: - Just a few notes about cross-compilation in mk-configure.7 - New slides, fixes and improvements in doc/presentation.pdf - README: feel free to edit sys.mk before installation - README: a few notes about tools used for development. Support for POD (Plain Old Documentation) is added (.pod.1, ..., .pod.9 and .pod.html suffix rules). New variables for this: POD2MAN, POD2MAN_FLAGS, POD2HTML and POD2HTML_FLAGS. Ex: examples/hello_xxzip ../Makefile.inc is included automatically if exists just like in NetBSD. Ex: hello_superfs. .ORDER: installdirs install. This should fix -j<N> problem. Thanks to FreeBSD buys, swell.k at gmail.com and Mikolaj Golub WARNS: add support for HP-UX C/C++ all:${FILES} ${MAN} etc. for the case when FILES are generated. Thanks to Jan Smydke. New examples (regression tests): hello_superfs, hello_xxzip.
2010-07-27 21:05:02 +02:00
share/examples/mk-configure/hello_files/DEBIAN/control
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
share/examples/mk-configure/hello_files/Makefile
update to 0.12.0 mk-configure doesn't depend on external pkgsrc-mk-files anymore! The only required thing is bmake itself. Everything else is inside mk-configure tarball now (yes, I've forked mk-files. Lots of fixes, clean-ups, reorganizations, additions, improvements, removals of useless code...). Some interesting things were stolen from NetBSD base system's mk-files. Do not rely on things you found in NetBSD/pkgsrc/sjg mk-files or even mk-c sources! Only features documented in mk-configure.7 will be supported. A target "install-dirs" has been renamed to "installdirs". Ask mkc.subdir.mk why ;-) mkc.lib.mk: - Commands for building a .so/.dylib shared library is overridable by user (using bmake's "commands"). Shared libraries - support for Darwin (.dylib and Apple's ld) - support for Solaris (gcc + Solaris' ld) - support for shared libraries is still terrible, more flexibility is needed. Variables: - New variables CLEANDIRS and DISTCLEANDIRS. - As of this release MKC_SHOW_CACHED defaults to 0. - New variable MKINSTALL. You can use it for internal static libraries. - New variable MKC_REQD. Minimal mk-configure version required. If this check fails, an entire build fails. - New variable USETBL. NOTE: It is "yes"/"no" variable. - New variable MANZ. NOTE: It is "yes"/"no" variable. - New variable SCRIPTSBIN that defaults to ${BINDIR}. - HTMLDIR is introduced containing directry for .html pages generated from manual pages. html pages are automatically installed if MKHTML=yes. - LDLIBS is not used anymore. Use LDADD for libraries. - DISTCLEANFILES modifyable by user contains a list of files removed by targets "cleandir" and "distdir" - New variable NROFF_MAN2DOC. Fixes: - A target "uninstall" now works correctly with .cat files. - configure.mk Workaround for buggy 20081111 < bmake < 20090909. See NetBSD BTS bin/41998: /usr/bin/make: .for loop + ":" inside iter_var = bug mk-configure: - "make distclean" run at the root mk-c's directory really removes all garbage. - TONS OF NEW REGRESSION TESTS. If you are running an exotic platform, run "bmake test" and send me results ;-) mkc_check_prog (MKC_CHECK_PROG): - Path to a found program is output instead of just "found" message. mkc_check_compiler - new utility, not used in mkc.*.mk yet.
2009-11-12 23:52:48 +01:00
share/examples/mk-configure/hello_files/expect.NetBSD.out
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
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 to release 0.13.0 CC, CXX and LD types are automatically detected and options passed to them (e.g. options for generating a position independent code or options for building a shared library) depend on this type. At the moment the following systems and compilers are supported: - NetBSD. Tested under NetBSD-5.0/x86 and NetBSD-2.0/alpha with gcc and pcc (Portable C compiler). - FreeBSD. Tested under FreeBSD-6.2/x86, 7.1/spark64 and 7.1/x86 with gcc. - OpenBSD. Tested under OpenBSD-3.8/x86 and 4.5/x86 with gcc. - Solaris. Tested under Solaris-10/x86 and Solaris-10/spark64 with sunpro-11, sunpro-12 and gcc. - Darwin (MacOS-X). Tested under Darwin-8.11.0/ppc (MacOS-X Tiger) with native gcc. - Interix. Tested under Interix-3.5/x86 with gcc. - QNX. Tested under QNX-6.3/x86 with gcc. - Partial support for AIX, HP-UX and Tru64 and their native compilers and linkers. Support is not complete because I have no access to "big iron". Any help? ;-) If you don't see your favourite system/compiler here and want to help me to improve mk-configure, feel free to contact me. mk-configure needs your help! ;-) The default directory for mk-files is ${PREFIX}/share/mkc-mk, where an empty sys.mk is installed unless NOSYSMK is defined whil installation. See an explanation about this in README. So called built-in checks are implemented. See MKC_CHECK_BUILTINS variable. Built-in checks are checks provided by mk-configure. At the moment the following checks are implemented: endianess, prog_flex, prog_bison, prog_gawk, prog_gm4. See mk-configure.7 for the documentation. mkc.configure.mk: - At the end of this file MKC_{REQUIRE,CHECK}_XXX variables as well as MKC_{CFLAGS,LDADD,SRCS} are .undef-ed. This allows one to .include mkc.configure.mk several times. - This include file is activated automatically from mkc.prog.mk and mkc.lib.mk. You need to .include mkc.configure.mk explicitely only if postcheck actions are needed. SCRIPTS variable can contain subdir/<script>s, they are installed just as <script>s, i.e. subdir/ is silently stripped. SCRIPTSDIR_subdir_<script> and SCRIPTSNAME_subdir_<script> can be used for specifying an alternative destination path and filename. If .l or .y source files are listed in SRCS variable, mk-configure automatically checks weather ${LEX} and ${YACC} are available or not. The same for .c/${CC}, .cpp|.cc|.cxx|.C/${CXX}, .f/${FC} and .p/${PC}. In case of absense of appropriate tool bmake exits with error on early stage. MKC_CHECK_CUSTOM, MKC_REQUIRE_CUSTOM: - HAVE_CUSTOM.xxx bmake's variables and HAVE_CUSTOM_xxx #defines have been renamed to CUSTOM.xxx and CUSTOM_xxx respectively. Formally speaking this breaks backward compatibility with earlier mk-c releases. - Support for checks written in C++ (.cc, .cxx, .C and .cpp) and Fortran (.f) is added. - Support for checks implemented as an executable program/script is added. FIXES: - mkc_imp.man.mk: useless TMACDIR and dependencies on tmac files under /usr/share are removed - mkc_check_decl: void function() cannot 'return 0' (thanks to SunPro compiler!) - If C++ source files are listed in SRCS, ${CXX} is used as a linker both for executables and shared libraries. - Linux, SunOS and lots of others have no "wheel" group. They use "root". - "make installdirs" should not create man/htmlN directories unless MKHTML is set to "yes" - mkc_imp.lib.mk: .so build rule must use ${LDFLAGS} ADDED: mkcmake utility (trivial wrapper over bmake) which should be used for building a software instead of bmake. .c:, .f:, .l: and similar useless rules are removed. It is enough to have .c.o:, .f.o:, .l.c etc. Improvements for cross-compilation. Lots of new regression tests: mkc_check_common.sh: if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are removed. Support for lex: -ll is added to linker if needed. mkc_check_compiler: - Added support for the following compilers: IBM Visual Age, HP cc/aCC, SunPro C/C++, Watcom, Borland, DEC C/C++ and Comeau C/C++ - New option '-x' for checking C++ compiler type. mkc_which: Accepts full paths. /path/to/program -> /path/to/program In order to avoid confusion, position independent object files (.so) have been renamed to .os. Also, .po has been renamed to .op. mkc_imp.lib.mk: - suffix rules for .cpp, widely used extension for C++ sources, are added. - LDCOMPILER variable is introduced, if "yes", compiler is used for linking a shared library. INCSSRCDIR variable is introduced, see the documentation. mkc_install: New utility for platforms having no BSD compatible install(1). INSTALL variable is set to mkc_install if needed. mkc.intexts.mk is included from mkc.prog.mk and mkc.lib.mk automatically just like mkc_imp.*.mk includes.
2009-12-27 16:46:33 +01:00
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
Upgrade to 0.16.0 Support for Lua programming language. See documentation for mkc_imp.lua.mk in mk-configure(7). mkc.pkg-config.mk: - Significant improvements! For details see mk-configure(7) manual page and examples/hello_glib2 example. New supported variables: PKG_CONFIG.exists.<lib>, PKG_CONFIG_VARS.<lib> and PKG_CONFIG.var.<lib>.<var>. - becomes internal include file and therefore renamed to mkc_imp.pkg-config.mk. Symlink mkc.pkg-config.mk is provided for backward compatibility. mkc_imp.pkg-config.mk is included by mkc.prog.mk and mkc.lib.mk. mkc.intexts.mk: - becomes internal include file and therefore renamed to mkc_imp.intexts.mk. Symlink mkc.intexts.mk is provided for backward compatibility. It is included from mkc.prog.mk, mkc.lib.mk and mkc.files.mk. - New variable INTEXTS_REPLS. See mk-configure(7). mkc.lib.mk: - includes mkc_imp.intexts.mk - supports SCRIPTS* variables (includes newly created mkc_imp.scripts.mk) - New variable MKDLL for creating dinamically loaded libraries (<lib>.so). mkc_imp.subprj.mk: - New variable SUBPRJ_DFLT. See mk-configure(7). mkc.*.mk try to open ${MAKECONF}, @sysconfdir@/mk.conf and /etc/mk.conf. This is now documented. mk-configure.7 is reorganized. Several internal include files document their own variables. Further improvements of man page are needed. All boolean variables becomes case-insensitive. That is "no", "No", "NO" and "nO" are equal. The same for "yes", "Yes"... mkc_check_custom(1): - New options: -p, -n, -m and -s. Minor fixes and clean-ups in .mk files, tools and regression tests. New regression tests and examples.
2010-06-12 14:42:04 +02:00
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
share/examples/mk-configure/hello_lua/foobar
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
Update to 0.19.0 FIX: LPREFIX, YPREFIX and YHEADER now works as documented. Regression test for them is added. As of this release target "install" creates target directories by default, i.e. it envokes target "installdirs" before installing files. For disabling this behaviour, you may set MKINSTALLDIRS variable to "no". mkc.lib.mk: - New variable EXPORT_SYMBOLS for exporting (in shared object library) only specified symbols. At the moment the following platforms support this: Solaris and those using GNU ld, that is *BSD and Linux. - "ld -h" is enabled on Solaris. mkc.subdir.mk and mkc.subprj.mk: - Two new variables: EXPORT_VARNAMES and NOEXPORT_VARNAMES for exporting variables before building subprojects. By default MKC_CACHEDIR is exported. As a result _mkc_* cache files will be placed in one directory for all subprojects. - New variable NOSUBDIR for excluding specified subprojects from build. Useful side effect: by using this variable you may disable some regression tests while running "bmake test". - Makefile.rec file if present is included by ALL subprojects recursively. See tests/rec_makefiles. mkc.subprj.mk: - New target subdir-<trg>-<subdir>, synonym for nodeps-<trg>-<subdir>. mkc.configure.mk: - MKC_CHECK_PROGS: mkc_check_progs is not called if path to program is absolute. mk-configure.7 shows in <> typical place where variables shall be used. On Solaris LD=/usr/ccs/bin/ld by default. On QNX mkc_install is used as install program by default. mkc_check_custom: - FIXED: ambiguous arguments of command "test" (seen on QNX) regression tests: - New test examples/hello_plugins replacing examples/hello_dlopen and examples/hello_dll - New test examples/hello_calc
2010-09-03 22:52:11 +02:00
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
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
share/examples/mk-configure/hello_reqd/Makefile
share/examples/mk-configure/hello_reqd/expect.out
share/examples/mk-configure/hello_reqd/hello
share/examples/mk-configure/hello_reqd/test.mk
Update to release 0.13.0 CC, CXX and LD types are automatically detected and options passed to them (e.g. options for generating a position independent code or options for building a shared library) depend on this type. At the moment the following systems and compilers are supported: - NetBSD. Tested under NetBSD-5.0/x86 and NetBSD-2.0/alpha with gcc and pcc (Portable C compiler). - FreeBSD. Tested under FreeBSD-6.2/x86, 7.1/spark64 and 7.1/x86 with gcc. - OpenBSD. Tested under OpenBSD-3.8/x86 and 4.5/x86 with gcc. - Solaris. Tested under Solaris-10/x86 and Solaris-10/spark64 with sunpro-11, sunpro-12 and gcc. - Darwin (MacOS-X). Tested under Darwin-8.11.0/ppc (MacOS-X Tiger) with native gcc. - Interix. Tested under Interix-3.5/x86 with gcc. - QNX. Tested under QNX-6.3/x86 with gcc. - Partial support for AIX, HP-UX and Tru64 and their native compilers and linkers. Support is not complete because I have no access to "big iron". Any help? ;-) If you don't see your favourite system/compiler here and want to help me to improve mk-configure, feel free to contact me. mk-configure needs your help! ;-) The default directory for mk-files is ${PREFIX}/share/mkc-mk, where an empty sys.mk is installed unless NOSYSMK is defined whil installation. See an explanation about this in README. So called built-in checks are implemented. See MKC_CHECK_BUILTINS variable. Built-in checks are checks provided by mk-configure. At the moment the following checks are implemented: endianess, prog_flex, prog_bison, prog_gawk, prog_gm4. See mk-configure.7 for the documentation. mkc.configure.mk: - At the end of this file MKC_{REQUIRE,CHECK}_XXX variables as well as MKC_{CFLAGS,LDADD,SRCS} are .undef-ed. This allows one to .include mkc.configure.mk several times. - This include file is activated automatically from mkc.prog.mk and mkc.lib.mk. You need to .include mkc.configure.mk explicitely only if postcheck actions are needed. SCRIPTS variable can contain subdir/<script>s, they are installed just as <script>s, i.e. subdir/ is silently stripped. SCRIPTSDIR_subdir_<script> and SCRIPTSNAME_subdir_<script> can be used for specifying an alternative destination path and filename. If .l or .y source files are listed in SRCS variable, mk-configure automatically checks weather ${LEX} and ${YACC} are available or not. The same for .c/${CC}, .cpp|.cc|.cxx|.C/${CXX}, .f/${FC} and .p/${PC}. In case of absense of appropriate tool bmake exits with error on early stage. MKC_CHECK_CUSTOM, MKC_REQUIRE_CUSTOM: - HAVE_CUSTOM.xxx bmake's variables and HAVE_CUSTOM_xxx #defines have been renamed to CUSTOM.xxx and CUSTOM_xxx respectively. Formally speaking this breaks backward compatibility with earlier mk-c releases. - Support for checks written in C++ (.cc, .cxx, .C and .cpp) and Fortran (.f) is added. - Support for checks implemented as an executable program/script is added. FIXES: - mkc_imp.man.mk: useless TMACDIR and dependencies on tmac files under /usr/share are removed - mkc_check_decl: void function() cannot 'return 0' (thanks to SunPro compiler!) - If C++ source files are listed in SRCS, ${CXX} is used as a linker both for executables and shared libraries. - Linux, SunOS and lots of others have no "wheel" group. They use "root". - "make installdirs" should not create man/htmlN directories unless MKHTML is set to "yes" - mkc_imp.lib.mk: .so build rule must use ${LDFLAGS} ADDED: mkcmake utility (trivial wrapper over bmake) which should be used for building a software instead of bmake. .c:, .f:, .l: and similar useless rules are removed. It is enough to have .c.o:, .f.o:, .l.c etc. Improvements for cross-compilation. Lots of new regression tests: mkc_check_common.sh: if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are removed. Support for lex: -ll is added to linker if needed. mkc_check_compiler: - Added support for the following compilers: IBM Visual Age, HP cc/aCC, SunPro C/C++, Watcom, Borland, DEC C/C++ and Comeau C/C++ - New option '-x' for checking C++ compiler type. mkc_which: Accepts full paths. /path/to/program -> /path/to/program In order to avoid confusion, position independent object files (.so) have been renamed to .os. Also, .po has been renamed to .op. mkc_imp.lib.mk: - suffix rules for .cpp, widely used extension for C++ sources, are added. - LDCOMPILER variable is introduced, if "yes", compiler is used for linking a shared library. INCSSRCDIR variable is introduced, see the documentation. mkc_install: New utility for platforms having no BSD compatible install(1). INSTALL variable is set to mkc_install if needed. mkc.intexts.mk is included from mkc.prog.mk and mkc.lib.mk automatically just like mkc_imp.*.mk includes.
2009-12-27 16:46:33 +01:00
share/examples/mk-configure/hello_require_tools/Makefile
share/examples/mk-configure/hello_require_tools/fake
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
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
share/examples/mk-configure/hello_scripts/hello_world3
share/examples/mk-configure/hello_scripts/main.c
Update to release 0.13.0 CC, CXX and LD types are automatically detected and options passed to them (e.g. options for generating a position independent code or options for building a shared library) depend on this type. At the moment the following systems and compilers are supported: - NetBSD. Tested under NetBSD-5.0/x86 and NetBSD-2.0/alpha with gcc and pcc (Portable C compiler). - FreeBSD. Tested under FreeBSD-6.2/x86, 7.1/spark64 and 7.1/x86 with gcc. - OpenBSD. Tested under OpenBSD-3.8/x86 and 4.5/x86 with gcc. - Solaris. Tested under Solaris-10/x86 and Solaris-10/spark64 with sunpro-11, sunpro-12 and gcc. - Darwin (MacOS-X). Tested under Darwin-8.11.0/ppc (MacOS-X Tiger) with native gcc. - Interix. Tested under Interix-3.5/x86 with gcc. - QNX. Tested under QNX-6.3/x86 with gcc. - Partial support for AIX, HP-UX and Tru64 and their native compilers and linkers. Support is not complete because I have no access to "big iron". Any help? ;-) If you don't see your favourite system/compiler here and want to help me to improve mk-configure, feel free to contact me. mk-configure needs your help! ;-) The default directory for mk-files is ${PREFIX}/share/mkc-mk, where an empty sys.mk is installed unless NOSYSMK is defined whil installation. See an explanation about this in README. So called built-in checks are implemented. See MKC_CHECK_BUILTINS variable. Built-in checks are checks provided by mk-configure. At the moment the following checks are implemented: endianess, prog_flex, prog_bison, prog_gawk, prog_gm4. See mk-configure.7 for the documentation. mkc.configure.mk: - At the end of this file MKC_{REQUIRE,CHECK}_XXX variables as well as MKC_{CFLAGS,LDADD,SRCS} are .undef-ed. This allows one to .include mkc.configure.mk several times. - This include file is activated automatically from mkc.prog.mk and mkc.lib.mk. You need to .include mkc.configure.mk explicitely only if postcheck actions are needed. SCRIPTS variable can contain subdir/<script>s, they are installed just as <script>s, i.e. subdir/ is silently stripped. SCRIPTSDIR_subdir_<script> and SCRIPTSNAME_subdir_<script> can be used for specifying an alternative destination path and filename. If .l or .y source files are listed in SRCS variable, mk-configure automatically checks weather ${LEX} and ${YACC} are available or not. The same for .c/${CC}, .cpp|.cc|.cxx|.C/${CXX}, .f/${FC} and .p/${PC}. In case of absense of appropriate tool bmake exits with error on early stage. MKC_CHECK_CUSTOM, MKC_REQUIRE_CUSTOM: - HAVE_CUSTOM.xxx bmake's variables and HAVE_CUSTOM_xxx #defines have been renamed to CUSTOM.xxx and CUSTOM_xxx respectively. Formally speaking this breaks backward compatibility with earlier mk-c releases. - Support for checks written in C++ (.cc, .cxx, .C and .cpp) and Fortran (.f) is added. - Support for checks implemented as an executable program/script is added. FIXES: - mkc_imp.man.mk: useless TMACDIR and dependencies on tmac files under /usr/share are removed - mkc_check_decl: void function() cannot 'return 0' (thanks to SunPro compiler!) - If C++ source files are listed in SRCS, ${CXX} is used as a linker both for executables and shared libraries. - Linux, SunOS and lots of others have no "wheel" group. They use "root". - "make installdirs" should not create man/htmlN directories unless MKHTML is set to "yes" - mkc_imp.lib.mk: .so build rule must use ${LDFLAGS} ADDED: mkcmake utility (trivial wrapper over bmake) which should be used for building a software instead of bmake. .c:, .f:, .l: and similar useless rules are removed. It is enough to have .c.o:, .f.o:, .l.c etc. Improvements for cross-compilation. Lots of new regression tests: mkc_check_common.sh: if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are removed. Support for lex: -ll is added to linker if needed. mkc_check_compiler: - Added support for the following compilers: IBM Visual Age, HP cc/aCC, SunPro C/C++, Watcom, Borland, DEC C/C++ and Comeau C/C++ - New option '-x' for checking C++ compiler type. mkc_which: Accepts full paths. /path/to/program -> /path/to/program In order to avoid confusion, position independent object files (.so) have been renamed to .os. Also, .po has been renamed to .op. mkc_imp.lib.mk: - suffix rules for .cpp, widely used extension for C++ sources, are added. - LDCOMPILER variable is introduced, if "yes", compiler is used for linking a shared library. INCSSRCDIR variable is introduced, see the documentation. mkc_install: New utility for platforms having no BSD compatible install(1). INSTALL variable is set to mkc_install if needed. mkc.intexts.mk is included from mkc.prog.mk and mkc.lib.mk automatically just like mkc_imp.*.mk includes.
2009-12-27 16:46:33 +01:00
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
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
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
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 to 0.12.0 mk-configure doesn't depend on external pkgsrc-mk-files anymore! The only required thing is bmake itself. Everything else is inside mk-configure tarball now (yes, I've forked mk-files. Lots of fixes, clean-ups, reorganizations, additions, improvements, removals of useless code...). Some interesting things were stolen from NetBSD base system's mk-files. Do not rely on things you found in NetBSD/pkgsrc/sjg mk-files or even mk-c sources! Only features documented in mk-configure.7 will be supported. A target "install-dirs" has been renamed to "installdirs". Ask mkc.subdir.mk why ;-) mkc.lib.mk: - Commands for building a .so/.dylib shared library is overridable by user (using bmake's "commands"). Shared libraries - support for Darwin (.dylib and Apple's ld) - support for Solaris (gcc + Solaris' ld) - support for shared libraries is still terrible, more flexibility is needed. Variables: - New variables CLEANDIRS and DISTCLEANDIRS. - As of this release MKC_SHOW_CACHED defaults to 0. - New variable MKINSTALL. You can use it for internal static libraries. - New variable MKC_REQD. Minimal mk-configure version required. If this check fails, an entire build fails. - New variable USETBL. NOTE: It is "yes"/"no" variable. - New variable MANZ. NOTE: It is "yes"/"no" variable. - New variable SCRIPTSBIN that defaults to ${BINDIR}. - HTMLDIR is introduced containing directry for .html pages generated from manual pages. html pages are automatically installed if MKHTML=yes. - LDLIBS is not used anymore. Use LDADD for libraries. - DISTCLEANFILES modifyable by user contains a list of files removed by targets "cleandir" and "distdir" - New variable NROFF_MAN2DOC. Fixes: - A target "uninstall" now works correctly with .cat files. - configure.mk Workaround for buggy 20081111 < bmake < 20090909. See NetBSD BTS bin/41998: /usr/bin/make: .for loop + ":" inside iter_var = bug mk-configure: - "make distclean" run at the root mk-c's directory really removes all garbage. - TONS OF NEW REGRESSION TESTS. If you are running an exotic platform, run "bmake test" and send me results ;-) mkc_check_prog (MKC_CHECK_PROG): - Path to a found program is output instead of just "found" message. mkc_check_compiler - new utility, not used in mkc.*.mk yet.
2009-11-12 23:52:48 +01:00
share/examples/mk-configure/hello_subdirs/Makefile
share/examples/mk-configure/hello_subdirs/prog1/Makefile
share/examples/mk-configure/hello_subdirs/prog1/expect.out
share/examples/mk-configure/hello_subdirs/prog1/prog1.awk
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
Update to 0.18.0 Several new variables are introduced: - LUA_LMODDIR and LUA_CMODDIR - installation directories for Lua modules written in Lua and C. - MKC_VERSION is now documented. - MLINKS now works just like in NetBSD. - CFLAGS.warns.<cctype>.<warn-level> and CXXFLAGS.warns.<cctype>.<warn-level> are now documented. Feel free to set them in sys.mk before installation. - WARNERR for forcing warnings to be reported as errors. New targets are introduced: bin_tar, bin_targz, bin_tarbz2, bin_zip and bin_deb for creating archive files or .deb package containing an installation image (Ex: examples/hello_files). This also introduces new variables: TAR, GZIP, BZIP2 and ZIP. Documentation: - Just a few notes about cross-compilation in mk-configure.7 - New slides, fixes and improvements in doc/presentation.pdf - README: feel free to edit sys.mk before installation - README: a few notes about tools used for development. Support for POD (Plain Old Documentation) is added (.pod.1, ..., .pod.9 and .pod.html suffix rules). New variables for this: POD2MAN, POD2MAN_FLAGS, POD2HTML and POD2HTML_FLAGS. Ex: examples/hello_xxzip ../Makefile.inc is included automatically if exists just like in NetBSD. Ex: hello_superfs. .ORDER: installdirs install. This should fix -j<N> problem. Thanks to FreeBSD buys, swell.k at gmail.com and Mikolaj Golub WARNS: add support for HP-UX C/C++ all:${FILES} ${MAN} etc. for the case when FILES are generated. Thanks to Jan Smydke. New examples (regression tests): hello_superfs, hello_xxzip.
2010-07-27 21:05:02 +02:00
share/examples/mk-configure/hello_superfs/Makefile
share/examples/mk-configure/hello_superfs/Makefile.inc
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
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
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
Update to 0.18.0 Several new variables are introduced: - LUA_LMODDIR and LUA_CMODDIR - installation directories for Lua modules written in Lua and C. - MKC_VERSION is now documented. - MLINKS now works just like in NetBSD. - CFLAGS.warns.<cctype>.<warn-level> and CXXFLAGS.warns.<cctype>.<warn-level> are now documented. Feel free to set them in sys.mk before installation. - WARNERR for forcing warnings to be reported as errors. New targets are introduced: bin_tar, bin_targz, bin_tarbz2, bin_zip and bin_deb for creating archive files or .deb package containing an installation image (Ex: examples/hello_files). This also introduces new variables: TAR, GZIP, BZIP2 and ZIP. Documentation: - Just a few notes about cross-compilation in mk-configure.7 - New slides, fixes and improvements in doc/presentation.pdf - README: feel free to edit sys.mk before installation - README: a few notes about tools used for development. Support for POD (Plain Old Documentation) is added (.pod.1, ..., .pod.9 and .pod.html suffix rules). New variables for this: POD2MAN, POD2MAN_FLAGS, POD2HTML and POD2HTML_FLAGS. Ex: examples/hello_xxzip ../Makefile.inc is included automatically if exists just like in NetBSD. Ex: hello_superfs. .ORDER: installdirs install. This should fix -j<N> problem. Thanks to FreeBSD buys, swell.k at gmail.com and Mikolaj Golub WARNS: add support for HP-UX C/C++ all:${FILES} ${MAN} etc. for the case when FILES are generated. Thanks to Jan Smydke. New examples (regression tests): hello_superfs, hello_xxzip.
2010-07-27 21:05:02 +02:00
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
Update to release 0.13.0 CC, CXX and LD types are automatically detected and options passed to them (e.g. options for generating a position independent code or options for building a shared library) depend on this type. At the moment the following systems and compilers are supported: - NetBSD. Tested under NetBSD-5.0/x86 and NetBSD-2.0/alpha with gcc and pcc (Portable C compiler). - FreeBSD. Tested under FreeBSD-6.2/x86, 7.1/spark64 and 7.1/x86 with gcc. - OpenBSD. Tested under OpenBSD-3.8/x86 and 4.5/x86 with gcc. - Solaris. Tested under Solaris-10/x86 and Solaris-10/spark64 with sunpro-11, sunpro-12 and gcc. - Darwin (MacOS-X). Tested under Darwin-8.11.0/ppc (MacOS-X Tiger) with native gcc. - Interix. Tested under Interix-3.5/x86 with gcc. - QNX. Tested under QNX-6.3/x86 with gcc. - Partial support for AIX, HP-UX and Tru64 and their native compilers and linkers. Support is not complete because I have no access to "big iron". Any help? ;-) If you don't see your favourite system/compiler here and want to help me to improve mk-configure, feel free to contact me. mk-configure needs your help! ;-) The default directory for mk-files is ${PREFIX}/share/mkc-mk, where an empty sys.mk is installed unless NOSYSMK is defined whil installation. See an explanation about this in README. So called built-in checks are implemented. See MKC_CHECK_BUILTINS variable. Built-in checks are checks provided by mk-configure. At the moment the following checks are implemented: endianess, prog_flex, prog_bison, prog_gawk, prog_gm4. See mk-configure.7 for the documentation. mkc.configure.mk: - At the end of this file MKC_{REQUIRE,CHECK}_XXX variables as well as MKC_{CFLAGS,LDADD,SRCS} are .undef-ed. This allows one to .include mkc.configure.mk several times. - This include file is activated automatically from mkc.prog.mk and mkc.lib.mk. You need to .include mkc.configure.mk explicitely only if postcheck actions are needed. SCRIPTS variable can contain subdir/<script>s, they are installed just as <script>s, i.e. subdir/ is silently stripped. SCRIPTSDIR_subdir_<script> and SCRIPTSNAME_subdir_<script> can be used for specifying an alternative destination path and filename. If .l or .y source files are listed in SRCS variable, mk-configure automatically checks weather ${LEX} and ${YACC} are available or not. The same for .c/${CC}, .cpp|.cc|.cxx|.C/${CXX}, .f/${FC} and .p/${PC}. In case of absense of appropriate tool bmake exits with error on early stage. MKC_CHECK_CUSTOM, MKC_REQUIRE_CUSTOM: - HAVE_CUSTOM.xxx bmake's variables and HAVE_CUSTOM_xxx #defines have been renamed to CUSTOM.xxx and CUSTOM_xxx respectively. Formally speaking this breaks backward compatibility with earlier mk-c releases. - Support for checks written in C++ (.cc, .cxx, .C and .cpp) and Fortran (.f) is added. - Support for checks implemented as an executable program/script is added. FIXES: - mkc_imp.man.mk: useless TMACDIR and dependencies on tmac files under /usr/share are removed - mkc_check_decl: void function() cannot 'return 0' (thanks to SunPro compiler!) - If C++ source files are listed in SRCS, ${CXX} is used as a linker both for executables and shared libraries. - Linux, SunOS and lots of others have no "wheel" group. They use "root". - "make installdirs" should not create man/htmlN directories unless MKHTML is set to "yes" - mkc_imp.lib.mk: .so build rule must use ${LDFLAGS} ADDED: mkcmake utility (trivial wrapper over bmake) which should be used for building a software instead of bmake. .c:, .f:, .l: and similar useless rules are removed. It is enough to have .c.o:, .f.o:, .l.c etc. Improvements for cross-compilation. Lots of new regression tests: mkc_check_common.sh: if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are removed. Support for lex: -ll is added to linker if needed. mkc_check_compiler: - Added support for the following compilers: IBM Visual Age, HP cc/aCC, SunPro C/C++, Watcom, Borland, DEC C/C++ and Comeau C/C++ - New option '-x' for checking C++ compiler type. mkc_which: Accepts full paths. /path/to/program -> /path/to/program In order to avoid confusion, position independent object files (.so) have been renamed to .os. Also, .po has been renamed to .op. mkc_imp.lib.mk: - suffix rules for .cpp, widely used extension for C++ sources, are added. - LDCOMPILER variable is introduced, if "yes", compiler is used for linking a shared library. INCSSRCDIR variable is introduced, see the documentation. mkc_install: New utility for platforms having no BSD compatible install(1). INSTALL variable is set to mkc_install if needed. mkc.intexts.mk is included from mkc.prog.mk and mkc.lib.mk automatically just like mkc_imp.*.mk includes.
2009-12-27 16:46:33 +01:00
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
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
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/expect.out
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
Update to 0.18.0 Several new variables are introduced: - LUA_LMODDIR and LUA_CMODDIR - installation directories for Lua modules written in Lua and C. - MKC_VERSION is now documented. - MLINKS now works just like in NetBSD. - CFLAGS.warns.<cctype>.<warn-level> and CXXFLAGS.warns.<cctype>.<warn-level> are now documented. Feel free to set them in sys.mk before installation. - WARNERR for forcing warnings to be reported as errors. New targets are introduced: bin_tar, bin_targz, bin_tarbz2, bin_zip and bin_deb for creating archive files or .deb package containing an installation image (Ex: examples/hello_files). This also introduces new variables: TAR, GZIP, BZIP2 and ZIP. Documentation: - Just a few notes about cross-compilation in mk-configure.7 - New slides, fixes and improvements in doc/presentation.pdf - README: feel free to edit sys.mk before installation - README: a few notes about tools used for development. Support for POD (Plain Old Documentation) is added (.pod.1, ..., .pod.9 and .pod.html suffix rules). New variables for this: POD2MAN, POD2MAN_FLAGS, POD2HTML and POD2HTML_FLAGS. Ex: examples/hello_xxzip ../Makefile.inc is included automatically if exists just like in NetBSD. Ex: hello_superfs. .ORDER: installdirs install. This should fix -j<N> problem. Thanks to FreeBSD buys, swell.k at gmail.com and Mikolaj Golub WARNS: add support for HP-UX C/C++ all:${FILES} ${MAN} etc. for the case when FILES are generated. Thanks to Jan Smydke. New examples (regression tests): hello_superfs, hello_xxzip.
2010-07-27 21:05:02 +02:00
share/examples/mk-configure/subprojects/libhello2/hello2.c
updated to 0.11.0 Major changes: mk-configure(7) Simon Gerrary's mk-files is not supported anymore. Use pkgsrc mk-files! Regression tests have been reorganized and significantly improved. All examples become regression tests. Lots of new tests. Run 'bmake test' to run them. mk-configure uses its own mkc.*.mk scripts to build and install itself. As a result Free/OpenBSD make cannot be used anymore for building and installations. Use bmake! ADDED: FAQ document to answer frequently asked questions. Thanks to Michael Shigorin for corrections. New simple module for regression tests: mkc.minitest.mk. Besides its simplicity it is quite useful. mk-configure uses it for testing itself. Initial version of mkc.pkg-config.mk module See examples/hello_glib2 for the sample of use. Note that it is not complete yet. mkc.configure.mk and configure.mk: - checks are not run if appropriate HAVE_xxx.yyy variable is already defined. This makes possible to effectively build software in a well defined stable environment. Ex: bmake -f predefined_settings.mk -f Makefile all - ADDED: MKC_CHECK_TYPES for checking for types. See the documentation in configure.mk.in and examples/. - ADDED: MKC_CHECK_CUSTOM for custom user's checks. Custom check is a user's code. Check itself -- is this code compilable or not. See the documentation in configure.mk.in and examples/. - Behaviour of MKC_CHECK_MEMBERS changed: Now "struct " prefix is not hardcoded. This gives an ability to check members in struct-s, enum-s and typedef-s. - NEW: MKC_REQUIRE_HEADERS, MKC_REQUIRE_FUNCLIBS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES, MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_CUSTOM and MKC_REQUIRE_FUNCS<N>. If these checks failure, bmake exits with error and prints an error message. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: MKC_CHECK_PROGS and MKC_REQUIRE_PROGS. See configure.mk.in for the documentation and examples/ for the samples of use. - NEW: targets "distclean" and "cleandir" removes _mkc_* cache files. - NEW: target "configure" runs all checks and creates _mkc_ cache files. - all checks are disabled for targets "clean", "cleandir" and "distclean". - Cache file names changed. Now they are: _mkc_type_<type>, _mkc_sizeof_<type>, _mkc_header_<header>, _mkc_funclib_<funclib>, _mkc_funcN_<func>, _mkc_variable_<variable>, _mkc_custom_<custom-check>, _mkc_prog_<progname>, _mkc_define_<define>, _mkc_member_<member> mkc.info.mk and mkc.man.mk are removed. They are included automatically from mkc.prog.mk, mkc.lib.mk and mkc.files.mk if needed. mkc.prog.mk, mkc.lib.mk, mkc.files.mk and mkc.subdir.mk: - NEW: target "uninstall" is supported. - performance improvements. "Hard" sections of mkc.common.mk are activated if and only if appropriate target is in action. - FIX: target "install-dirs" now works correctly with MAN containing .N pages where N is not 1. - FIX: target "install-dirs" now takes into account LINKS and SYMLINKS. - Better support for TEXINFO: - "uninstall" target takes TEXINFO into account. - "clean" target removes generated .info files. - mkc.{prog,lib,files}.mk supports a target "test". By default it does nothing. The target "test" of mkc.subdir.mk runs 'bmake test' for each SUBDIR. If you want to define your own "test" target overriding the default one, define it in your project's Makefile before any .include <mkc.*.mk> directive. - MKC_REQD variable Makefile of mk-configure: README, NEWS, TODO, FAQ and COPYRIGHT files are also installed unless EXTRAFILES is set to an empty string. "mkc_check_sizeof" and "mkc_check_decl type" don't create cache files with spaces in its name anymore. Space inside a filename is replaced with symbol ~ (tilde). FIXED: mkc_check_custom, mkc_check_decl, mkc_check_funclib, mkc_check_header and mkc_check_sizeof failed if CC contains space. Thanks to Vitaly Lipatov for the report. mkc_check_sizeof now works drammatically faster. MKHTML defaults to "no". mkc_check_sizeof, mkc_check_custom: - fixes for problems with Solaris' /bin/sh Other fixes and improvements.
2009-09-05 15:50:43 +02:00
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
Update to release 0.13.0 CC, CXX and LD types are automatically detected and options passed to them (e.g. options for generating a position independent code or options for building a shared library) depend on this type. At the moment the following systems and compilers are supported: - NetBSD. Tested under NetBSD-5.0/x86 and NetBSD-2.0/alpha with gcc and pcc (Portable C compiler). - FreeBSD. Tested under FreeBSD-6.2/x86, 7.1/spark64 and 7.1/x86 with gcc. - OpenBSD. Tested under OpenBSD-3.8/x86 and 4.5/x86 with gcc. - Solaris. Tested under Solaris-10/x86 and Solaris-10/spark64 with sunpro-11, sunpro-12 and gcc. - Darwin (MacOS-X). Tested under Darwin-8.11.0/ppc (MacOS-X Tiger) with native gcc. - Interix. Tested under Interix-3.5/x86 with gcc. - QNX. Tested under QNX-6.3/x86 with gcc. - Partial support for AIX, HP-UX and Tru64 and their native compilers and linkers. Support is not complete because I have no access to "big iron". Any help? ;-) If you don't see your favourite system/compiler here and want to help me to improve mk-configure, feel free to contact me. mk-configure needs your help! ;-) The default directory for mk-files is ${PREFIX}/share/mkc-mk, where an empty sys.mk is installed unless NOSYSMK is defined whil installation. See an explanation about this in README. So called built-in checks are implemented. See MKC_CHECK_BUILTINS variable. Built-in checks are checks provided by mk-configure. At the moment the following checks are implemented: endianess, prog_flex, prog_bison, prog_gawk, prog_gm4. See mk-configure.7 for the documentation. mkc.configure.mk: - At the end of this file MKC_{REQUIRE,CHECK}_XXX variables as well as MKC_{CFLAGS,LDADD,SRCS} are .undef-ed. This allows one to .include mkc.configure.mk several times. - This include file is activated automatically from mkc.prog.mk and mkc.lib.mk. You need to .include mkc.configure.mk explicitely only if postcheck actions are needed. SCRIPTS variable can contain subdir/<script>s, they are installed just as <script>s, i.e. subdir/ is silently stripped. SCRIPTSDIR_subdir_<script> and SCRIPTSNAME_subdir_<script> can be used for specifying an alternative destination path and filename. If .l or .y source files are listed in SRCS variable, mk-configure automatically checks weather ${LEX} and ${YACC} are available or not. The same for .c/${CC}, .cpp|.cc|.cxx|.C/${CXX}, .f/${FC} and .p/${PC}. In case of absense of appropriate tool bmake exits with error on early stage. MKC_CHECK_CUSTOM, MKC_REQUIRE_CUSTOM: - HAVE_CUSTOM.xxx bmake's variables and HAVE_CUSTOM_xxx #defines have been renamed to CUSTOM.xxx and CUSTOM_xxx respectively. Formally speaking this breaks backward compatibility with earlier mk-c releases. - Support for checks written in C++ (.cc, .cxx, .C and .cpp) and Fortran (.f) is added. - Support for checks implemented as an executable program/script is added. FIXES: - mkc_imp.man.mk: useless TMACDIR and dependencies on tmac files under /usr/share are removed - mkc_check_decl: void function() cannot 'return 0' (thanks to SunPro compiler!) - If C++ source files are listed in SRCS, ${CXX} is used as a linker both for executables and shared libraries. - Linux, SunOS and lots of others have no "wheel" group. They use "root". - "make installdirs" should not create man/htmlN directories unless MKHTML is set to "yes" - mkc_imp.lib.mk: .so build rule must use ${LDFLAGS} ADDED: mkcmake utility (trivial wrapper over bmake) which should be used for building a software instead of bmake. .c:, .f:, .l: and similar useless rules are removed. It is enough to have .c.o:, .f.o:, .l.c etc. Improvements for cross-compilation. Lots of new regression tests: mkc_check_common.sh: if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are removed. Support for lex: -ll is added to linker if needed. mkc_check_compiler: - Added support for the following compilers: IBM Visual Age, HP cc/aCC, SunPro C/C++, Watcom, Borland, DEC C/C++ and Comeau C/C++ - New option '-x' for checking C++ compiler type. mkc_which: Accepts full paths. /path/to/program -> /path/to/program In order to avoid confusion, position independent object files (.so) have been renamed to .os. Also, .po has been renamed to .op. mkc_imp.lib.mk: - suffix rules for .cpp, widely used extension for C++ sources, are added. - LDCOMPILER variable is introduced, if "yes", compiler is used for linking a shared library. INCSSRCDIR variable is introduced, see the documentation. mkc_install: New utility for platforms having no BSD compatible install(1). INSTALL variable is set to mkc_install if needed. mkc.intexts.mk is included from mkc.prog.mk and mkc.lib.mk automatically just like mkc_imp.*.mk includes.
2009-12-27 16:46:33 +01:00
share/mk-configure/custom/endianess
share/mk-configure/custom/prog_bison
share/mk-configure/custom/prog_flex
share/mk-configure/custom/prog_gawk
share/mk-configure/custom/prog_gm4
share/mkc-mk/configure.mk
share/mkc-mk/mkc.configure.mk
share/mkc-mk/mkc.files.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.own.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
Update to 0.18.0 Several new variables are introduced: - LUA_LMODDIR and LUA_CMODDIR - installation directories for Lua modules written in Lua and C. - MKC_VERSION is now documented. - MLINKS now works just like in NetBSD. - CFLAGS.warns.<cctype>.<warn-level> and CXXFLAGS.warns.<cctype>.<warn-level> are now documented. Feel free to set them in sys.mk before installation. - WARNERR for forcing warnings to be reported as errors. New targets are introduced: bin_tar, bin_targz, bin_tarbz2, bin_zip and bin_deb for creating archive files or .deb package containing an installation image (Ex: examples/hello_files). This also introduces new variables: TAR, GZIP, BZIP2 and ZIP. Documentation: - Just a few notes about cross-compilation in mk-configure.7 - New slides, fixes and improvements in doc/presentation.pdf - README: feel free to edit sys.mk before installation - README: a few notes about tools used for development. Support for POD (Plain Old Documentation) is added (.pod.1, ..., .pod.9 and .pod.html suffix rules). New variables for this: POD2MAN, POD2MAN_FLAGS, POD2HTML and POD2HTML_FLAGS. Ex: examples/hello_xxzip ../Makefile.inc is included automatically if exists just like in NetBSD. Ex: hello_superfs. .ORDER: installdirs install. This should fix -j<N> problem. Thanks to FreeBSD buys, swell.k at gmail.com and Mikolaj Golub WARNS: add support for HP-UX C/C++ all:${FILES} ${MAN} etc. for the case when FILES are generated. Thanks to Jan Smydke. New examples (regression tests): hello_superfs, hello_xxzip.
2010-07-27 21:05:02 +02:00
share/mkc-mk/mkc_imp.arch.mk
share/mkc-mk/mkc_imp.dep.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.init.mk
Upgrade to 0.16.0 Support for Lua programming language. See documentation for mkc_imp.lua.mk in mk-configure(7). mkc.pkg-config.mk: - Significant improvements! For details see mk-configure(7) manual page and examples/hello_glib2 example. New supported variables: PKG_CONFIG.exists.<lib>, PKG_CONFIG_VARS.<lib> and PKG_CONFIG.var.<lib>.<var>. - becomes internal include file and therefore renamed to mkc_imp.pkg-config.mk. Symlink mkc.pkg-config.mk is provided for backward compatibility. mkc_imp.pkg-config.mk is included by mkc.prog.mk and mkc.lib.mk. mkc.intexts.mk: - becomes internal include file and therefore renamed to mkc_imp.intexts.mk. Symlink mkc.intexts.mk is provided for backward compatibility. It is included from mkc.prog.mk, mkc.lib.mk and mkc.files.mk. - New variable INTEXTS_REPLS. See mk-configure(7). mkc.lib.mk: - includes mkc_imp.intexts.mk - supports SCRIPTS* variables (includes newly created mkc_imp.scripts.mk) - New variable MKDLL for creating dinamically loaded libraries (<lib>.so). mkc_imp.subprj.mk: - New variable SUBPRJ_DFLT. See mk-configure(7). mkc.*.mk try to open ${MAKECONF}, @sysconfdir@/mk.conf and /etc/mk.conf. This is now documented. mk-configure.7 is reorganized. Several internal include files document their own variables. Further improvements of man page are needed. All boolean variables becomes case-insensitive. That is "no", "No", "NO" and "nO" are equal. The same for "yes", "Yes"... mkc_check_custom(1): - New options: -p, -n, -m and -s. Minor fixes and clean-ups in .mk files, tools and regression tests. New regression tests and examples.
2010-06-12 14:42:04 +02:00
share/mkc-mk/mkc_imp.intexts.mk
share/mkc-mk/mkc_imp.lib.mk
share/mkc-mk/mkc_imp.links.mk
Upgrade to 0.16.0 Support for Lua programming language. See documentation for mkc_imp.lua.mk in mk-configure(7). mkc.pkg-config.mk: - Significant improvements! For details see mk-configure(7) manual page and examples/hello_glib2 example. New supported variables: PKG_CONFIG.exists.<lib>, PKG_CONFIG_VARS.<lib> and PKG_CONFIG.var.<lib>.<var>. - becomes internal include file and therefore renamed to mkc_imp.pkg-config.mk. Symlink mkc.pkg-config.mk is provided for backward compatibility. mkc_imp.pkg-config.mk is included by mkc.prog.mk and mkc.lib.mk. mkc.intexts.mk: - becomes internal include file and therefore renamed to mkc_imp.intexts.mk. Symlink mkc.intexts.mk is provided for backward compatibility. It is included from mkc.prog.mk, mkc.lib.mk and mkc.files.mk. - New variable INTEXTS_REPLS. See mk-configure(7). mkc.lib.mk: - includes mkc_imp.intexts.mk - supports SCRIPTS* variables (includes newly created mkc_imp.scripts.mk) - New variable MKDLL for creating dinamically loaded libraries (<lib>.so). mkc_imp.subprj.mk: - New variable SUBPRJ_DFLT. See mk-configure(7). mkc.*.mk try to open ${MAKECONF}, @sysconfdir@/mk.conf and /etc/mk.conf. This is now documented. mk-configure.7 is reorganized. Several internal include files document their own variables. Further improvements of man page are needed. All boolean variables becomes case-insensitive. That is "no", "No", "NO" and "nO" are equal. The same for "yes", "Yes"... mkc_check_custom(1): - New options: -p, -n, -m and -s. Minor fixes and clean-ups in .mk files, tools and regression tests. New regression tests and examples.
2010-06-12 14:42:04 +02:00
share/mkc-mk/mkc_imp.lua.mk
share/mkc-mk/mkc_imp.man.mk
share/mkc-mk/mkc_imp.own.mk
Upgrade to 0.16.0 Support for Lua programming language. See documentation for mkc_imp.lua.mk in mk-configure(7). mkc.pkg-config.mk: - Significant improvements! For details see mk-configure(7) manual page and examples/hello_glib2 example. New supported variables: PKG_CONFIG.exists.<lib>, PKG_CONFIG_VARS.<lib> and PKG_CONFIG.var.<lib>.<var>. - becomes internal include file and therefore renamed to mkc_imp.pkg-config.mk. Symlink mkc.pkg-config.mk is provided for backward compatibility. mkc_imp.pkg-config.mk is included by mkc.prog.mk and mkc.lib.mk. mkc.intexts.mk: - becomes internal include file and therefore renamed to mkc_imp.intexts.mk. Symlink mkc.intexts.mk is provided for backward compatibility. It is included from mkc.prog.mk, mkc.lib.mk and mkc.files.mk. - New variable INTEXTS_REPLS. See mk-configure(7). mkc.lib.mk: - includes mkc_imp.intexts.mk - supports SCRIPTS* variables (includes newly created mkc_imp.scripts.mk) - New variable MKDLL for creating dinamically loaded libraries (<lib>.so). mkc_imp.subprj.mk: - New variable SUBPRJ_DFLT. See mk-configure(7). mkc.*.mk try to open ${MAKECONF}, @sysconfdir@/mk.conf and /etc/mk.conf. This is now documented. mk-configure.7 is reorganized. Several internal include files document their own variables. Further improvements of man page are needed. All boolean variables becomes case-insensitive. That is "no", "No", "NO" and "nO" are equal. The same for "yes", "Yes"... mkc_check_custom(1): - New options: -p, -n, -m and -s. Minor fixes and clean-ups in .mk files, tools and regression tests. New regression tests and examples.
2010-06-12 14:42:04 +02:00
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
Upgrade to 0.16.0 Support for Lua programming language. See documentation for mkc_imp.lua.mk in mk-configure(7). mkc.pkg-config.mk: - Significant improvements! For details see mk-configure(7) manual page and examples/hello_glib2 example. New supported variables: PKG_CONFIG.exists.<lib>, PKG_CONFIG_VARS.<lib> and PKG_CONFIG.var.<lib>.<var>. - becomes internal include file and therefore renamed to mkc_imp.pkg-config.mk. Symlink mkc.pkg-config.mk is provided for backward compatibility. mkc_imp.pkg-config.mk is included by mkc.prog.mk and mkc.lib.mk. mkc.intexts.mk: - becomes internal include file and therefore renamed to mkc_imp.intexts.mk. Symlink mkc.intexts.mk is provided for backward compatibility. It is included from mkc.prog.mk, mkc.lib.mk and mkc.files.mk. - New variable INTEXTS_REPLS. See mk-configure(7). mkc.lib.mk: - includes mkc_imp.intexts.mk - supports SCRIPTS* variables (includes newly created mkc_imp.scripts.mk) - New variable MKDLL for creating dinamically loaded libraries (<lib>.so). mkc_imp.subprj.mk: - New variable SUBPRJ_DFLT. See mk-configure(7). mkc.*.mk try to open ${MAKECONF}, @sysconfdir@/mk.conf and /etc/mk.conf. This is now documented. mk-configure.7 is reorganized. Several internal include files document their own variables. Further improvements of man page are needed. All boolean variables becomes case-insensitive. That is "no", "No", "NO" and "nO" are equal. The same for "yes", "Yes"... mkc_check_custom(1): - New options: -p, -n, -m and -s. Minor fixes and clean-ups in .mk files, tools and regression tests. New regression tests and examples.
2010-06-12 14:42:04 +02:00
share/mkc-mk/mkc_imp.scripts.mk
share/mkc-mk/mkc_imp.subdir.mk
share/mkc-mk/mkc_imp.subprj.mk
share/mkc-mk/mkc_imp.sys.mk
Upgrade to 0.16.0 Support for Lua programming language. See documentation for mkc_imp.lua.mk in mk-configure(7). mkc.pkg-config.mk: - Significant improvements! For details see mk-configure(7) manual page and examples/hello_glib2 example. New supported variables: PKG_CONFIG.exists.<lib>, PKG_CONFIG_VARS.<lib> and PKG_CONFIG.var.<lib>.<var>. - becomes internal include file and therefore renamed to mkc_imp.pkg-config.mk. Symlink mkc.pkg-config.mk is provided for backward compatibility. mkc_imp.pkg-config.mk is included by mkc.prog.mk and mkc.lib.mk. mkc.intexts.mk: - becomes internal include file and therefore renamed to mkc_imp.intexts.mk. Symlink mkc.intexts.mk is provided for backward compatibility. It is included from mkc.prog.mk, mkc.lib.mk and mkc.files.mk. - New variable INTEXTS_REPLS. See mk-configure(7). mkc.lib.mk: - includes mkc_imp.intexts.mk - supports SCRIPTS* variables (includes newly created mkc_imp.scripts.mk) - New variable MKDLL for creating dinamically loaded libraries (<lib>.so). mkc_imp.subprj.mk: - New variable SUBPRJ_DFLT. See mk-configure(7). mkc.*.mk try to open ${MAKECONF}, @sysconfdir@/mk.conf and /etc/mk.conf. This is now documented. mk-configure.7 is reorganized. Several internal include files document their own variables. Further improvements of man page are needed. All boolean variables becomes case-insensitive. That is "no", "No", "NO" and "nO" are equal. The same for "yes", "Yes"... mkc_check_custom(1): - New options: -p, -n, -m and -s. Minor fixes and clean-ups in .mk files, tools and regression tests. New regression tests and examples.
2010-06-12 14:42:04 +02:00
share/mkc-mk/mkc_imp.vars.mk
2010-05-24 22:09:27 +02:00
share/mkc-mk/sys.mk