From cc25893299ce50da2228ded3386600a21e473667 Mon Sep 17 00:00:00 2001 From: Keith Marshall Date: Sat, 17 Apr 2010 21:01:17 +0000 Subject: [PATCH] Initialise MinGW/build-aux CVS module. --- ChangeLog | 13 +++++++++ README | 25 +++++++++++++++++ m4/missing.m4 | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 ChangeLog create mode 100644 README create mode 100644 m4/missing.m4 diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..f68db68 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,13 @@ +2010-04-16 Keith Marshall + + Initialise MinGW/build-aux CVS module. + + * build-aux: New CVS module. + + * README ChangeLog: New files. + * m4: New directory; add it. + * m4/missing.m4: New file. + + * CVSROOT/modules (modules): New self-referencing module; define it. + (missing.m4): New module reference to build-aux/m4/missing.m4; it will + incorporate m4/missing.m4 into any module embedding it. diff --git a/README b/README new file mode 100644 index 0000000..a34a690 --- /dev/null +++ b/README @@ -0,0 +1,25 @@ +$Id$ + +This README relates to the MinGW/build-aux CVS module. + +The MinGW/build-aux module is not intended for free-standing use. +Rather, it serves as a collection point for general purpose code +components, which are intended to facilitate the development of +build systems for other modules; as such, individual components +selected from build-aux may be incorporated into other modules +by means of appropriate mapping entries in the CVS modules +database. + +Developers wishing to deploy modules from MinGW/build-aux into +their own MinGW hosted project should consult the administrator, +to ensure that the appropriate references are established within +the CVS modules database. + +Changes to MinGW/build-aux component modules may be initiated +from any sandbox of any module which incorporates the affected +component. When making any such change, developers are requested +to please ensure that the ChangeLog within MinGW/build-aux itself +is appropriately updated. + +-- +Keith Marshall, 2010-04-16 diff --git a/m4/missing.m4 b/m4/missing.m4 new file mode 100644 index 0000000..be4cd04 --- /dev/null +++ b/m4/missing.m4 @@ -0,0 +1,87 @@ +## missing.m4 -*- autoconf -*- vim: filetype=config +## +## $Id$ +## +## Written by Keith Marshall +## Copyright (C) 2010, MinGW Project +## +## +## Autoconf macros to gracefully abort configure, on identified +## non-availability of specified build prerequisites. +## +## +## This is free software. Permission is hereby granted to copy +## and redistribute this software, either as is or in modified form, +## subject only to the restrictions that the original author's notice +## of copyright and disclaimers of warranty and of liability shall be +## preserved without change in EVERY copy, and that modified copies +## shall be clearly identified as such. +## +## This software is provided "as is", in the hope that it may prove +## useful, but there is NO WARRANTY OF ANY KIND; not even an implied +## WARRANTY OF MERCHANTABILITY, nor of FITNESS FOR A PARTICULAR PURPOSE. +## Under no circumstances will the author, or the MinGW Project, accept +## liability for any damages, however caused, arising from the use of +## this software. + + +# MINGW_AC_ASSERT_MISSING( PACKAGE, [TARNAME] ) +# --------------------------------------------- +# Add PACKAGE to the list of prerequisite packages which are +# identified as missing from the build system; this will then +# be included in the diagnostic message which will be displayed, +# if MINGW_AC_ABORT_IF_MISSING_PREREQ is subsequently invoked. +# +# If TARNAME is also specified, then it too will be included +# in the message, as a recommended package to be installed in +# order to satisfy the prerequisite. +# +AC_DEFUN([MINGW_AC_ASSERT_MISSING], +[test -n "${mingw_ac_missing_list}" && { + mingw_ac_missing_plural=s mingw_ac_missing_appear=; } + mingw_ac_missing_list="${mingw_ac_missing_list} + $1" + test -n "$2" && { test -n "${mingw_ac_missing_providers}" && { + mingw_ac_missing_providers_plural=s; } + mingw_ac_missing_providers="${mingw_ac_missing_providers} + $2"; } +])# MINGW_AC_ASSERT_MISSING + +# MINGW_AC_ABORT_IF_MISSING_PREREQ +# -------------------------------- +# Invoked unconditionally after any MINGW_AC_ASSERT_MISSING request, +# and prior to AC_OUTPUT, causes configure to abort with a diagnostic +# message if any missing prerequisite has been identified. +# +AC_DEFUN([_MINGW_AC_ABORT_IF_MISSING_PREREQ], +[test -n "$mingw_ac_missing_list" && { _MINGW_AC_SUGGEST_PROVIDERS + AC_MSG_ERROR([missing prerequisite${mingw_ac_missing_plural}: + +The following prerequisite package${mingw_ac_missing_plural} dnl +appear${mingw_ac_missing_appear-s} to be missing from +your system:-- +${mingw_ac_missing_list}]); } +])# MINGW_AC_ABORT_IF_MISSING_PREREQ + +# _MINGW_AC_SUGGEST_PROVIDERS +# --------------------------- +# Helper macro, invoked only by MINGW_AC_ABORT_IF_MISSING_PREREQ; +# it causes any TARNAME references from MINGW_AC_ASSERT_MISSING to +# be itemised in the diagnostic output. +# +AC_DEFUN([_MINGW_AC_SUGGEST_PROVIDERS], +[test -n "${mingw_ac_missing_providers}" && { + test -z "${mingw_ac_missing_providers_plural}" \ + && mingw_ac_newer="a newer" \ + || mingw_ac_newer=newer + mingw_ac_missing_list="${mingw_ac_missing_list} + +To continue building ${PACKAGE_TARNAME}, you should install the following +or ${mingw_ac_newer} version${mingw_ac_missing_providers_plural} of:-- +${mingw_ac_missing_providers} + +and run configure again. +"; } +])# _MINGW_AC_SUGGEST_PROVIDERS + +# $RCSfile$: end of file -- 2.11.0