Commit graph

26 commits

Author SHA1 Message Date
agc
d9e4cfe05d Add SHA512 digests for distfiles for devel category
Issues found with existing distfiles:
	distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
	distfiles/fortran-utils-1.1.tar.gz
	distfiles/ivykis-0.39.tar.gz
	distfiles/enum-1.11.tar.gz
	distfiles/pvs-3.2-libraries.tgz
	distfiles/pvs-3.2-linux.tgz
	distfiles/pvs-3.2-solaris.tgz
	distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 03:27:11 +00:00
cheusov
1fd50eb6ed Update to 0.29.0
mkc.configure.mk:
    - New variables MKC_CHECK_CC_OPTS and MKC_CHECK_CXX_OPTS were
      introduced for checking C/C++ compiler's options

  Makefile.inc and Makefile.common are included after system variables
  are set, in particular CC and CXX.

  CC_TYPE is now set in mk.init.mk

  Fixes for "err" and "warn" features.  Now verr(3), verrx(3),
  vwarn(3) and vwarnx(3) functions are detected correctly (the problem
  was seen on gcc-4.9/armv7).

  Fix support for COMPATLIB.  Objects for "features" should not be
  generated outside compatibility library.

  A number of fixes in regression tests: support for latest GCC,
  lib64 and lib/tri-ple-ts Linuxes.

  mkc_check_custom:
    - new option -e was introduced for checking stderr for emptyness
    - new option -b was introduced for printing yes/no instead of 1/0
    - additional options to compiler are passed via CARGS env. variable.
2014-11-30 16:26:58 +00:00
cheusov
2a85aea6a5 Update to version 0.28.0
LIBDEPS, STATICLIBS, DPLDADD, DPLIBDIRS and DPINCDIRS variables were
  introduced. With their help one can specify library dependencies in
  the top-level Makefile. Users are also able to build some libraries
  statically even if they were designed to be a dynamic libraries.

  New variable FOREIGN was introduced. With its help one can embed
  autotools-based projects (as a subproject) to mk-configure-based once.
  See mkc_imp.foreign_autotools.mk section in man page for details.

  Support for Darwin was fixed. Nowadays it uses clang.

  New features were introduced:
    - "progname" for setprogname(3) and getprogname(3) BSDisms;
    - "err" for err(3), errx(3), verr(3) and verrx(3) BSDisms;
    - "warn" for warn(3), warnx(3), vwarn(3) and vwarnx(3) BSD-isms;
    - "fgetln" for fgetln(3) BSD-ism;

  Support for Haiku was fixed. It does not support hard links
  and uses LIBRARY_PATH.

  LDCOMPILER variable was removed.
  Compiler is always used for linking.

  New builtin "prog_gmake" was introduced which search GNU make.

  INTERNALLIBS variable was introduced. With its help one can
  implement libraries common for several subprojects.

  COMPATLIB variable was introduced. It is ideal solution for
  portability code.

  MKC_FEATURES: all objects are removed by target "clean"

  Target "errorcheck" was added to ALLTARGETS. Therefore it also have
  pre_, do_, post_ counterparts.

  VARDIR, SHAREDSTATEDIR, SUBPRJSRCTOP, CPPFLAGS0 variables were introduced.

  MKC_SOURCE_FUNCSLIBS: .o{s,p} objects are also removed by target "clean"

  Hardcoded /etc/mk.conf is not included anymore. New mk-configure
  specific configuration file @sysconfdir@/mk-c.conf was introduced.

  Additions to doc/NOTES

  .depends is added to DISTCLEANDIRS only for non-empty SRCS

  mkc_imp.intexts.mk: new error type for odd tokens in INTEXTS_REPLS

  MKDEP_CC is shquoted when passed to mkdep(1) as CC.

  Code clean-ups, more regression tests.

  This release was sucessfully tested on the following platforms.
  NetBSD-6.1/x86_64/gcc-4.5, FreeBSD-9.0/i386/gcc-4.2,
  OpenBSD-4.9/i386/gcc-4.2, DragonFlyBSD-3.4/x86_64/gcc-4.7,
  Darwin-14.0/x86_64/clang-600.0.53, SunOS-5.11/i86pc/gcc-4.7,
  SunOS-5.10/sparc/{gcc-4.8,SunStudio-12.3}, diverse
  Linux-es/{gcc,icc-12.1,SunStudio-12.3}, Haiku/gcc-4.8.
2014-09-14 13:11:39 +00:00
cheusov
246cb567b4 Update to version 0.27.0
Fix pkg-config support (github issue #8).
  Thanks to Andrew Shadura for the report.

  Fix support for mixed C/C++ projects.

  Fixes for Interix and Cygwin where users and groups may have spaces.
  Thanks to Michael Crogan for the report.

  Fix in mkc_imp.f_SLIST.mk (we have to restore original MKC_NOAUTO)

  mkc.lib.mk:
    - MKPIE=yes also turns on PIC

  pre_*, do_* and post_* targets were introduced. ALLTARGETS was
  introduced which lists all targets with pre_/do_/post_
  counterparts.

  examples/hello_superfs:
    - new interesting feature proposed by Michael Crogan

  As makedepend(1) is broken on Linux, {b}mkdep(1) is used for
  generating .depend by default.

  mkc_install:
    - new option -l for symlinking
    - fixes for files and directories with spaces
2014-07-13 15:52:36 +00:00
cheusov
0d0e51e567 Fix for projects that require MKC_FEATURES 2014-07-13 15:23:41 +00:00
cheusov
52b14a62df Update mk-configure to 0.26.0
"Features" framework was implemented (variable MKC_FEATURES).  In
  general, a feature is something that has problems with
  portability. This may be a function name or header missing on some
  platforms, for example.  What developer needs to do is to add
  FEATURENAME to MKC_FEATURES variable and add #include
  <mkc_FEATURENAME.h> where it is needed. Internally, system
  requiremets are checked in the automatically included
  mkc_imp.f_FEATURENAME.mk file and all required actions (includes,
  define checks etc.)  are made in mkc_FEATURENAME.h header file.
  Currently the following features are provided: strlcat, strlcpy,
  getline, libm, libdl, RB, SPLAY, SLIST, SIMPLEQ, STAILQ, LIST, TAILQ
  and CIRCLEQ. Original idea was stolen from pkgsrc.

  mkc_imp.pkg-config.mk:
    - New variables MKC_CHECK_PKGCONFIG and MKC_REQUIRE_PKGCONFIG were
      introduced.  They work just like other MKC_{CHECK,REQUIRE}_*
      variables from mkc.configure.mk. Thanks to Andrew Shadura for
      pushing me to this direction.

  mkc.configure.mk:
    - MKC_{CHECK,REQUIRE}_PROTOTYPES were introduced.  With their help
      mk-configure is able to check C function prototypes.  This
      feature was proposed by Andrew Shadura.

  If ${MKC_CACHEDIR} does not exit, it is automatically created.

  ${SRCTOP}/Makefile.common is included by all subprojects if it
  exists. It can be used as a replacement or addition for
  ../Makefile.inc.

  Valiables SRCDIR_<dir>, SRC_PATHADD, MKC_SOURCE_DIR, LDFLAGS0 and
  LDADD0 were introduced.

  Wrongly named builtin 'endianess' was renamed to 'endianness'.
  Thanks to Andew Shadura for the report and fix!

  mk-configure itself is now 2-level project.
  This allows me to run an arbitrary regression test like the following
     bmake test-examples/hello_world
  Hurray! :-)

  mkc.subprj.mk:
    - Now it works correctly if NOSUBDIR is not empty.
      Also, NOSUBDIR affects NODEPS and therefore the dependency graph.
    - New target "print-deps" that outputs the dependency graph was
      introduced.

  -O is added to CFLAGS if USE_FORT==yes, seen on Linux/ppc64/gcc

  Documentation: clean-ups, grammar fixes, minor improvements.

  Fix. Some @@ patterns in mk-configure.7 should not be replaced with
  directories. Thanks to Andrew Shadura for the report!

  This release was successfully tested on the following platforms:
  NetBSD-6.1/amd64, FreeBSD-8.3/amd64, OpenBSD-{4.9,5.3}/x86,
  DragonFlyBSD-3.4/x86, Linux/{x86,amd64}, SunOS-5.10/sparc,
  SunOS-5.11/x86.
2014-02-04 02:53:01 +00:00
cheusov
aead2b25da mk-configure updated to 0.25.0
Build infrastructure for mk-c itself was completely reimplemented.
  Now it looks much better and is more flexible for further extensions.

  NetBSD version of mkdep(1), traditional BSD mkdep(1) or
  makedepend(1) is needed at build time.

  LDCOMPILER defaults to "yes".

  Variable TARGETS is now visible to users and is documented. It
  contains all recursive targets and may be used for adding user's
  functionality to mk-c.

  FIX: Parallel installation ("mkcmake install -jN") now works
  correctly. "installdirs" is activated before "install". Report by
  Michael Crogan.

  During build object directories are created automatically by default
  when MAKEOBJDIR or MAKEOBJDIRPREFIX are set.  New recursive target
  "obj" and variable MKOBJDIRS were introduced.
  Report by Michael Crogan.

  New variable MKRELOBJDIR was introduced. With its help one can
  create object directories relative to top-level object directory
  (like MAKEOBJDIRPREFIX but without top-level ${.CURDIR} in paths).
  Thanks to Michael Crogan.

  target "depend":
     - FIX. Original implementation relied on NetBSD version of
       mkdep(1). So, it didn't work on Linux, FreeBSD and others with
       original BSD mkdep(1). Type of mkdep(1) is detected at
       mk-configure build time. Report by Michael Crogan.

  New variables LN, LN_S, MKDIR, RM, CLEANFILES_CMD, CLEANDIRS_CMD,
  UNINSTALL, MAKEDEPEND, OBJTOP, CC_PREFIX, CXX_PREFIX were
  introduced.

  New variable NODEPS was introduced. With its help one can cut off
  the dependency graph for particular targets.

  New variable BMAKE_REQD was introduced.

  New variable SRCTOP was introduced. With its help
     "mkcmake -C subdir target" may work just like "mkcmake target-subdir".

  New variables CFLAGS.dflt.${CC_TYPE} and CXXFLAGS.dflt.${CXX_TYPE}
    were introduced. They default to -Qunused-arguments
    for clang and clang++.

  mkc.init.mk can be invoked by users directly for setting all
  required variables and further checks (CC_TYPE, LD_TYPE, OPSYS etc.).

  mkc_imp.links.mk:
     - This module was reimplemented from scratch.
       Bug with parallel installation (LINKS and MLINKS) was fixed.

  mkc.minitest.mk:
     - new variable TEST_PREREQS was introduced.

  mkc_imp.inc.mk: fix for ${INCS} installation problem happened when
     headers are built in ${.OBJDIR}. Report by Jan Smydke.

  mkc_imp.info.mk:
     - fix for MKINSTALL=no. "installdirs" unexpectedly created target
       directories.

  mkc.configure.mk:
     - fix issue with MKC_CHECK_CUSTOM when ${.OBJDIR} != ${.CURDIR}
     - MKC_CHECK_PROGS: PROG.<prog> is set even if full path was
       specified.  In addition existence and executability of the
       specified file is always checked.
     - fix for MKC_SOURCE_FUNCLIBS. Not all objects were cleaned
       correctly by target "clean".  Now objects are added to CLEANFILES
       unconditionally.
     - negative results for MKC_REQUIRE_* are not cached.  This gives
       users ability to fix the problem by changing the environment
       and try again.
     - MKC_CHECK_BUILTINS. Additional builtin checks were added:
       "prog_mkdep" and "prog_nbmkdep" for original BSD mkdep(1) and
       NetBSD version of mkdep(1) respectively.

  mkc_imp.intexts.mk fixes:
     - Targets "clean" and "cleandir" do not fail anymore if INTEXTS_REPLS
       contains empty variables.
     - Target "all" works correctly if INFILES or INSCRIPTS contain
       files with directories.

  mkc.sub{dir,prj}.mk:
     - ${MAKEFLAGS} is passed to recursive ${MAKE}s.
     - {nodeps-,subdir-,}dir:T are also targets, that is, one can also
       use the last component of subdirectory as_a_part_of/as_a_whole
       target. If you want to disable this, set SHORTPRJNAME to "no".

  mkc_imp.subdir.mk was reimplemented using mkc_imp.subprj.mk

  mkc_imp.dep.mk:
     - documentation for this module was added.
     - support for SHRTOUT=yes
     - new variable DPSRCS was introduced
     - MKDEP_SUFFIXES also contains .os and .op. Report by Michael Crogan.
     - Target "clean" does not remove .depend and .d files.
       Target "cleandir" does. NetBSD mk files work the same way.
       Report by Michael Crogan.

  MKPIE/SHLIB_*:
     - s/-KPIC/-xcode=pic32/ for SunStudio compilers

  MKSSP=yes:
     - Support for IBM XL Compiler was added (not tested due to lack of such
     - iron)
     - Support for Intel C/C++ Compiler was added

  Documentation fixes, updates and improvements.  A lot of new
  examples/. A lot of new regression tests.

  Tools:
     Long option --help was removed from all utilities
     - mkc_install:
        - fix for problem with parallel "installdirs" (race condition).
        - Options -t and -b were removed.
     - mkc_check_prog: option -i is documented in man page
     - mkc_check_compiler: workarounds for buggy SunStudio C++
       compiler ("CC -E -" exits with error).

  All test are run with MKCATPAGES=no by default.

  myprojects.pdf: pipestatus also uses mk-configure.
2014-01-01 23:59:27 +00:00
cheusov
f12377b7ec Fix for Minix. Thanks to Thomas Cort. ++pkgrevision 2013-04-06 08:39:31 +00:00
cheusov
ff0f90142f Version 0.24.0, by Aleksey Cheusov, Fri, 8 Mar 2013 13:18:00 +0300
mkc.sub{dir,prj}.mk:
    - support for subprojects containing / symbol was added. In
      OBJDIR_<dir> variable slashes are replaced with underlines.
      In addition OBJDIR_<dir:T> variable is set.
    - now also run the target "errorcheck"
    - now work correctly with non-empty MAKEOBJDIR
      and MAKEOBJDIRPREFIX.

  Minor improvements in examples/*/linkme.mk

  DPLIBS is deprecated, use LDADD instead.

  ${MKC_SOURCE_FUNCLIBS}.o is added to CLEANFILES if it is set.

  Minor fixes in mkc_imp.lua.mk (LUA_MODULES vs. LUA_LMODULES).

  Some improvements and fixes in man page and FAQ.
  Thanks to Jeremy Reed, Min Sik Kim and Jan Smydke.
2013-03-08 11:35:14 +00:00
asau
e1ab7079b6 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-31 11:16:30 +00:00
cheusov
0253cc2ce4 Support for non-default PKG_SYSCONFDIR 2012-10-21 17:24:58 +00:00
cheusov
b46d46378e Do not package ChangeLog file 2012-10-21 17:17:01 +00:00
cheusov
046071c99f Clean-ups 2012-10-21 17:13:49 +00:00
cheusov
bec2c8ae79 Pass SYSCONFDIR=${PKG_SYSCONFDIR} to mkc-based projects through MAKE_ENV 2012-10-18 16:16:54 +00:00
cheusov
d1cc9f8560 Update to 0.23.0
mkc.subprj.mk:
    - Support for "virtual" subproject was added. Subprojects listed
      in SUBPRJ and SUBPRJS_DFLT are not necessarily associated with
      a subdirectory. See examples/hello_superfs for example.
      Virtual subproject is a way to group several subprojects into
      new one.

  New variables were introduced: COPTS_<proj> OBJCOPTS_<proj>
  LDADD_<proj> LDFLAGS_<proj> CPPFLAGS_<proj> CXXFLAGS_<proj>.
  See the manual page for details.

  Fix: OBJDIR_<subdir> variables now always contain full paths.

  Fix in mkc_which(1). Now it differs directories and regular files.

  Minor fixes in regression tests for EXPORT_SYMBOLS.

  mkc.lib.mk:
    - SHLIB_MINOR unconditionally defaults to 0

  More slides in .pdf presentation:
    - cross-compilation
    - EXPORT_SYMBOLS

  Fixes for Pascal support

  Minor fixes in the man page
2012-07-22 13:00:41 +00:00
cheusov
e98ad4652b not needed anymore 2012-03-09 19:22:24 +00:00
cheusov
e960f9d959 Update to 0.22.0
Improvements in cross-compilation. The following variables were
     introduced: TOOLDIR, SYSROOT, TOOLCHAIN_PREFIX and
     MACHINE_GNU_PLATFORM.

  PROGS variable was introduced (sf.net bug #3445658).

  Support for Lua submodules was added (e.g. net.socket.lua ->
  net/socket.lua). New variable LUA_MODULES was introduced for this
  purpose.

  MKPIE (Position Independent Executables), USE_SSP (Stack Smashing
  Protection), USE_FORT and USE_RELRO variables were introduced for
  security reasons.

  Variable OBJDIR_<dir> was introduced.

  mkc.subdir.mk and mkc.subprj.mk: Commands associated with targets
  "all", "install", "clean", "cleandir", "depend", "test",
  "installdirs", "uninstall", "errorcheck" and "filelist" in Makefile
  override the standard behaviour.

  MKC_REQUIRE_HEADERS, MKC_REQUIRE_DEFINES, MKC_REQUIRE_TYPES,
  MKC_REQUIRE_VARS, MKC_REQUIRE_MEMBERS, MKC_REQUIRE_FUNCS<n> and
  MKC_REQUIRE_CUSTOM do not change CFLAGS.

  mkc.subdir.mk and mkc.subprj.mk: "cleandir" target takes into
  account CLEANFILES, CLEANDIRS, DISTCLEANFILES and DISTCLEANDIRS
  variables (removes files).

  PCNAME.<lib> variable was introduced in mkc_imp.pkg-config.mk, this
  is a map from library name to pcname (.pc).

  Improvements for SHRTOUT.

  New variable OBJCOPY was introduced.

  Update of the presentation.

  Fix in manual page (sf.net bug #3441610).

  New regression tests (examples).
2012-03-09 18:56:21 +00:00
cheusov
282538bb8e Pass INSTALL to mk-c for cross-compilation 2011-11-17 18:53:53 +00:00
cheusov
8ebf4a5364 Update to 0.21.2
mkc_check_compiler has been reimplemented. This fixes problems
  on system with /bin/sh == bash (affected versions: 0.21.1)
  and makes it drammatically faster.
2011-10-21 23:30:31 +00:00
cheusov
c83af7b1fe Support for non-standard PKGMANDIR for all mkc-based projects 2011-10-19 15:03:32 +00:00
cheusov
98589abbad Update my email 2011-10-09 10:02:44 +00:00
cheusov
d5b87a97da Update to 0.21.1
Target "errorcheck" ("configure") cannot work in parallel.

  Fix bug appeared in parallel builds (make -j).
     Thanks to Alexander Nasonov.

  Support for IRIX64 and Haiku was implemented.

  PDF presentation update

  Minor clean-ups
2011-09-13 19:04:37 +00:00
cheusov
4640f1cfcb configure.mk implements target "do-configure" common for all projects
based on mk-configure
2011-09-04 15:40:11 +00:00
cheusov
1ad5419848 Fix two pkglint warnings: LICENCE line position, comment in patch 2011-05-22 15:23:31 +00:00
cheusov
cb881dfbde Fixed: projects based on mk-c may fail with MAKE_JOBS=n, n>1
Thanks to Alexander Nasonov (alnsn@) for pointing out and testing.
2011-05-13 22:00:26 +00:00
drochner
13ccda2c68 import mk-configure-0.21.0, a lightweight but powerful replacement for
GNU autotools, from Aleksey Cheusov per pkgsrc-wip
(needed for the runawk pkg to be imported in a minute)
2011-01-20 21:36:24 +00:00