2010-10-24 17:52:23 +02:00
|
|
|
@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
|
2009-03-15 16:44:08 +01:00
|
|
|
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
|
2009-03-15 16:44:08 +01:00
|
|
|
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
|
2009-03-15 16:44:08 +01:00
|
|
|
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
|
2009-03-15 16:44:08 +01:00
|
|
|
man/man1/mkc_check_sizeof.1
|
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
|
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
|
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
|
Update to version 0.15.0
New presentation for mk-configure is in doc/ subdirectory.
New top-level include file "mkc.subprjs.mk", more powerful
replacement for mkc.subdir.mk. It handles subprojects organized as a
dependency graph.
New variables are added: MKPICLIB, MKSHLIB, MKSTATICLIB and
MKPROFILELIB for building PIC, shared, static and profile libraries.
See mk-configure.7 for details.
MKPIC, MKPROFILE and MKPICINSTALL variables are removed. Use
MKPICLIB, MKSHLIB, MKPROFILELIB and MKINSTALL variables instead.
Implementation for variable "WARNS" (currently only for gcc).
New variable "SHRTOUT". If it is not "no", shortened formatted
messages are output about compiling, linking etc.
Manual page for mkcmake(1).
Target "depend" is added for generating .depend file.
Minor fixes in mkc_check_funclib.
Support for Cygwin is added (no support for shared libraries yet).
Clean-ups in target "clean".
More regression tests and examples.
Minor fix in mkc_imp.subdir.mk: do not run "installdirs" if MKINSTALL=no.
Internal target "error-check" is renamed to "errorcheck".
2010-05-26 13:09:11 +02:00
|
|
|
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
|
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
|
Update to version 0.15.0
New presentation for mk-configure is in doc/ subdirectory.
New top-level include file "mkc.subprjs.mk", more powerful
replacement for mkc.subdir.mk. It handles subprojects organized as a
dependency graph.
New variables are added: MKPICLIB, MKSHLIB, MKSTATICLIB and
MKPROFILELIB for building PIC, shared, static and profile libraries.
See mk-configure.7 for details.
MKPIC, MKPROFILE and MKPICINSTALL variables are removed. Use
MKPICLIB, MKSHLIB, MKPROFILELIB and MKINSTALL variables instead.
Implementation for variable "WARNS" (currently only for gcc).
New variable "SHRTOUT". If it is not "no", shortened formatted
messages are output about compiling, linking etc.
Manual page for mkcmake(1).
Target "depend" is added for generating .depend file.
Minor fixes in mkc_check_funclib.
Support for Cygwin is added (no support for shared libraries yet).
Clean-ups in target "clean".
More regression tests and examples.
Minor fix in mkc_imp.subdir.mk: do not run "installdirs" if MKINSTALL=no.
Internal target "error-check" is renamed to "errorcheck".
2010-05-26 13:09:11 +02:00
|
|
|
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
|
2010-10-24 17:52:23 +02:00
|
|
|
share/examples/mk-configure/hello_dictd/libdz/export.sym
|
Update to version 0.15.0
New presentation for mk-configure is in doc/ subdirectory.
New top-level include file "mkc.subprjs.mk", more powerful
replacement for mkc.subdir.mk. It handles subprojects organized as a
dependency graph.
New variables are added: MKPICLIB, MKSHLIB, MKSTATICLIB and
MKPROFILELIB for building PIC, shared, static and profile libraries.
See mk-configure.7 for details.
MKPIC, MKPROFILE and MKPICINSTALL variables are removed. Use
MKPICLIB, MKSHLIB, MKPROFILELIB and MKINSTALL variables instead.
Implementation for variable "WARNS" (currently only for gcc).
New variable "SHRTOUT". If it is not "no", shortened formatted
messages are output about compiling, linking etc.
Manual page for mkcmake(1).
Target "depend" is added for generating .depend file.
Minor fixes in mkc_check_funclib.
Support for Cygwin is added (no support for shared libraries yet).
Clean-ups in target "clean".
More regression tests and examples.
Minor fix in mkc_imp.subdir.mk: do not run "installdirs" if MKINSTALL=no.
Internal target "error-check" is renamed to "errorcheck".
2010-05-26 13:09:11 +02:00
|
|
|
share/examples/mk-configure/hello_dictd/libdz/linkme.mk
|
|
|
|
share/examples/mk-configure/hello_dictd/libmaa/Makefile
|
2010-09-03 22:52:11 +02:00
|
|
|
share/examples/mk-configure/hello_dictd/libmaa/export.sym
|
Update to version 0.15.0
New presentation for mk-configure is in doc/ subdirectory.
New top-level include file "mkc.subprjs.mk", more powerful
replacement for mkc.subdir.mk. It handles subprojects organized as a
dependency graph.
New variables are added: MKPICLIB, MKSHLIB, MKSTATICLIB and
MKPROFILELIB for building PIC, shared, static and profile libraries.
See mk-configure.7 for details.
MKPIC, MKPROFILE and MKPICINSTALL variables are removed. Use
MKPICLIB, MKSHLIB, MKPROFILELIB and MKINSTALL variables instead.
Implementation for variable "WARNS" (currently only for gcc).
New variable "SHRTOUT". If it is not "no", shortened formatted
messages are output about compiling, linking etc.
Manual page for mkcmake(1).
Target "depend" is added for generating .depend file.
Minor fixes in mkc_check_funclib.
Support for Cygwin is added (no support for shared libraries yet).
Clean-ups in target "clean".
More regression tests and examples.
Minor fix in mkc_imp.subdir.mk: do not run "installdirs" if MKINSTALL=no.
Internal target "error-check" is renamed to "errorcheck".
2010-05-26 13:09:11 +02:00
|
|
|
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
|
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
|
Update to 0.20.0
New variable PROJECTNAME, see the manual page.
New variable EXPORT_DYNAMIC for making all symbols in executable
visible to linked or dlopen'ed libraries. It is supported on *BSD,
Linux, SunOS, QNX, Interix, OSF1, HP-UX.
New variable CFLAGS.pic. See the manual page.
EXPORT_SYMBOLS: On systems using GNU ld, i.e. *BSD, Linux, QNX
etc. 'ld --version-script' is used in order to specify a list of
exported symbols instead of --retain-symbols-file
Lua support:
- Lua support didn't work properly if only one of LUA_LMODULES or
LUA_CMODULE were specified. Now it is fixed.
- New regression test examples/hello_lua2.
- Force building Lua modules with .so extension.
Darwin:
- support for EXPORT_SYMBOLS was added
- DLLs (MKDLL=yes) are built as bundles and have .bundle extension
/usr/bin/install is used as INSTALL only on *BSD platforms. On all
others mkc_install is used.
Interix:
- 775:664 permissions are used only for +Administrator user.
- "installdirs" target creates directories with 775 permission if
needed.
OSF1:
- better handling the so_location files.
mkc_imp.arch.mk:
- PROJECTNAME variable is used for creating archives and .deb
package.
2010-09-19 21:04:06 +02:00
|
|
|
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
|
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
|
Update to 0.20.0
New variable PROJECTNAME, see the manual page.
New variable EXPORT_DYNAMIC for making all symbols in executable
visible to linked or dlopen'ed libraries. It is supported on *BSD,
Linux, SunOS, QNX, Interix, OSF1, HP-UX.
New variable CFLAGS.pic. See the manual page.
EXPORT_SYMBOLS: On systems using GNU ld, i.e. *BSD, Linux, QNX
etc. 'ld --version-script' is used in order to specify a list of
exported symbols instead of --retain-symbols-file
Lua support:
- Lua support didn't work properly if only one of LUA_LMODULES or
LUA_CMODULE were specified. Now it is fixed.
- New regression test examples/hello_lua2.
- Force building Lua modules with .so extension.
Darwin:
- support for EXPORT_SYMBOLS was added
- DLLs (MKDLL=yes) are built as bundles and have .bundle extension
/usr/bin/install is used as INSTALL only on *BSD platforms. On all
others mkc_install is used.
Interix:
- 775:664 permissions are used only for +Administrator user.
- "installdirs" target creates directories with 775 permission if
needed.
OSF1:
- better handling the so_location files.
mkc_imp.arch.mk:
- PROJECTNAME variable is used for creating archives and .deb
package.
2010-09-19 21:04:06 +02:00
|
|
|
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
|
Update to version 0.15.0
New presentation for mk-configure is in doc/ subdirectory.
New top-level include file "mkc.subprjs.mk", more powerful
replacement for mkc.subdir.mk. It handles subprojects organized as a
dependency graph.
New variables are added: MKPICLIB, MKSHLIB, MKSTATICLIB and
MKPROFILELIB for building PIC, shared, static and profile libraries.
See mk-configure.7 for details.
MKPIC, MKPROFILE and MKPICINSTALL variables are removed. Use
MKPICLIB, MKSHLIB, MKPROFILELIB and MKINSTALL variables instead.
Implementation for variable "WARNS" (currently only for gcc).
New variable "SHRTOUT". If it is not "no", shortened formatted
messages are output about compiling, linking etc.
Manual page for mkcmake(1).
Target "depend" is added for generating .depend file.
Minor fixes in mkc_check_funclib.
Support for Cygwin is added (no support for shared libraries yet).
Clean-ups in target "clean".
More regression tests and examples.
Minor fix in mkc_imp.subdir.mk: do not run "installdirs" if MKINSTALL=no.
Internal target "error-check" is renamed to "errorcheck".
2010-05-26 13:09:11 +02:00
|
|
|
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
|
2010-05-24 22:07:52 +02:00
|
|
|
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
|
2010-10-24 17:52:23 +02:00
|
|
|
share/mkc-mk/mkc.mk
|
2010-05-24 22:07:52 +02:00
|
|
|
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
|
2010-05-28 22:00:33 +02:00
|
|
|
share/mkc-mk/mkc.subprj.mk
|
2010-05-27 11:24:55 +02:00
|
|
|
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
|
Update to version 0.15.0
New presentation for mk-configure is in doc/ subdirectory.
New top-level include file "mkc.subprjs.mk", more powerful
replacement for mkc.subdir.mk. It handles subprojects organized as a
dependency graph.
New variables are added: MKPICLIB, MKSHLIB, MKSTATICLIB and
MKPROFILELIB for building PIC, shared, static and profile libraries.
See mk-configure.7 for details.
MKPIC, MKPROFILE and MKPICINSTALL variables are removed. Use
MKPICLIB, MKSHLIB, MKPROFILELIB and MKINSTALL variables instead.
Implementation for variable "WARNS" (currently only for gcc).
New variable "SHRTOUT". If it is not "no", shortened formatted
messages are output about compiling, linking etc.
Manual page for mkcmake(1).
Target "depend" is added for generating .depend file.
Minor fixes in mkc_check_funclib.
Support for Cygwin is added (no support for shared libraries yet).
Clean-ups in target "clean".
More regression tests and examples.
Minor fix in mkc_imp.subdir.mk: do not run "installdirs" if MKINSTALL=no.
Internal target "error-check" is renamed to "errorcheck".
2010-05-26 13:09:11 +02:00
|
|
|
share/mkc-mk/mkc_imp.dep.mk
|
2010-05-24 22:07:52 +02:00
|
|
|
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
|
2010-06-12 14:42:04 +02:00
|
|
|
share/mkc-mk/mkc_imp.intexts.mk
|
2010-05-24 22:07:52 +02:00
|
|
|
share/mkc-mk/mkc_imp.lib.mk
|
|
|
|
share/mkc-mk/mkc_imp.links.mk
|
2010-06-12 14:42:04 +02:00
|
|
|
share/mkc-mk/mkc_imp.lua.mk
|
2010-05-24 22:07:52 +02:00
|
|
|
share/mkc-mk/mkc_imp.man.mk
|
|
|
|
share/mkc-mk/mkc_imp.own.mk
|
2010-06-12 14:42:04 +02:00
|
|
|
share/mkc-mk/mkc_imp.pkg-config.mk
|
2010-05-24 22:07:52 +02:00
|
|
|
share/mkc-mk/mkc_imp.platform.sys.mk
|
2010-10-24 17:52:23 +02:00
|
|
|
share/mkc-mk/mkc_imp.pod.mk
|
|
|
|
share/mkc-mk/mkc_imp.preinit.mk
|
2010-05-24 22:07:52 +02:00
|
|
|
share/mkc-mk/mkc_imp.prog.mk
|
2010-06-12 14:42:04 +02:00
|
|
|
share/mkc-mk/mkc_imp.scripts.mk
|
2010-05-24 22:07:52 +02:00
|
|
|
share/mkc-mk/mkc_imp.subdir.mk
|
2010-05-28 22:00:33 +02:00
|
|
|
share/mkc-mk/mkc_imp.subprj.mk
|
2010-05-24 22:07:52 +02:00
|
|
|
share/mkc-mk/mkc_imp.sys.mk
|
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
|