pkgsrc-WIP-cvs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: wip/mk-configure

Module name:    wip
Committed by:   cheusov
Date:           Sun Dec 27 15:46:33 UTC 2009

Modified Files:
        wip/mk-configure: Makefile PLIST distinfo

Log Message:

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 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.
    - 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 several times.
    - This include file is activated automatically from
      and You need to .include
      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.

    - bmake's variables and HAVE_CUSTOM_xxx #defines
      have been renamed to 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.

    - 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
    - "make installdirs" should not create man/htmlN directories
      unless MKHTML is set to "yes"
    - .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:
    if MKC_NOCACHE=1, tmp.c, tmp.o, tmp.exe and tmp.err are

  Support for lex:
    -ll is added to linker if needed.

    - 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.

    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.
    - suffix rules for .cpp, widely used extension for C++ sources, are
    - 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. is included from and
  automatically just like mkc_imp.*.mk includes.

To generate a diff of this commit:
cvs -z3 rdiff -u -r1.14 -r1.15 wip/mk-configure/Makefile
cvs -z3 rdiff -u -r1.7 -r1.8 wip/mk-configure/distinfo
cvs -z3 rdiff -u -r1.8 -r1.9 wip/mk-configure/PLIST

To view a diff of this commit:

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers 
pkgsrc-wip-cvs mailing list

Home | Main Index | Thread Index | Old Index