diff options
Diffstat (limited to 'config/conftest.tpl')
-rw-r--r-- | config/conftest.tpl | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/config/conftest.tpl b/config/conftest.tpl new file mode 100644 index 0000000..b5278c9 --- /dev/null +++ b/config/conftest.tpl @@ -0,0 +1,133 @@ +[= AutoGen5 template -*- Mode: M4 -*- + +null + +## Time-stamp: "2012-01-02 20:00:21 bkorb" +## +## This file is part of AutoGen. +## +## AutoGen Copyright (c) 1992-2012 by Bruce Korb - all rights reserved +## +## AutoGen is free software: you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by the +## Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## AutoGen is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +## See the GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License along +## with this program. If not, see <http://www.gnu.org/licenses/>. +# +# This template uses the following definitions: +# +# 1. group - defines a prefix for the names. The default is "ac". +# 2. test - an autoconf test to perform: +# 2.a name - name of the test +# 2.b type - "run", "link" or "compile" +# 2.c check - short display name for user entertainment +# 2.d code - the test code to compile, link and/or run. +# 2.e doc - useful explanitory text +# 2.f require - if there are conftest prerequisites +# 2.g author - [optional] name of test's author + +(setenv "SHELL" "/bin/sh") + +=][= + +INCLUDE "confmacs.tlib" =][= + +(define group-id (string-downcase! (get "group"))) +(if (= (string-length group-id) 0) + (set! group-id "ac") + (string->c-name! group-id) ) +(define group-pfx (string-append group-id "_")) + +(define ofile "") +(define separate-macros #t) + +(if (exist? "output-file") + (begin + (set! ofile (get "output-file")) + (set! separate-macros #f) + (shellf "echo sending output to %s >&2" ofile) + ) + + (begin + (set! ofile + (string-append (string-downcase! (get "group")) "_macros.m4") ) +) ) +(out-switch ofile) +(define ofile-list ofile) +(define do-all-name (string-append + "INVOKE_" (string-upcase! (get "group")) "_MACROS" )) + +(dne "dnl " "dnl ") =][= + +IF (exist? "do-first") =] +dnl +dnl do always before generated macros: +dnl +AC_DEFUN([[= (. do-all-name) =]_FIRST],[ +[= (prefix " " (join "\n" (stack "do-first"))) =] +]) +[= (if (exist? "do-always") "\n\n") =][= + +ENDIF do-first =][= + +IF (exist? "do-always") =] +dnl +dnl do always after generated macros: +dnl +AC_DEFUN([[= (. do-all-name) =]_LAST],[ +[if test X${[= (. do-all-name) =]_LAST_done} != Xyes ; then] +[= (prefix " " (join "\n" (stack "do-always"))) =] +[ [= (. do-all-name) =]_LAST_done=yes +fi]]) +[= +ENDIF do-always =] +dnl +dnl @synopsis [=(. do-all-name)=] +dnl +dnl This macro will invoke the AutoConf macros specified in [=(def-file)=] +dnl that have not been disabled with "omit-invocation". +dnl[= + +(if (not separate-macros) (out-push-new)) + +=] +AC_DEFUN([[=(. do-all-name)=]],[[= + +(if (exist? "do-first") + (string-append "\n AC_REQUIRE([" do-all-name "_FIRST])")) =][= + +FOR test =][= + (define author-name (get "author")) + (set-ctx (get "name")) + (if separate-macros + (begin + (set! ofile (string-append (string-downcase mac-name) ".m4" )) + (out-push-new ofile) + (set! ofile-list (string-append ofile-list "\n" ofile)) + ) + (out-suspend "main-macro") + ) =][= + + INVOKE emit-macro =] +[=(if separate-macros (out-pop) (out-resume "main-macro")) =][= + + IF (not (exist? "omit-invocation")) =] + # Check to see if [=check=]. + [=(. mac-name) =] +[=ENDIF =][= +ENDFOR test =][= +(if (not separate-macros) + (out-pop #t)) =][= +(if (exist? "do-always") + (string-append "\n " do-all-name "_LAST")) +=] +]) # end AC_DEFUN of [=(. do-all-name)=][= + +# end conftest.tpl =] |