diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2012-08-11 16:45:31 +0000 |
---|---|---|
committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-10-18 12:43:06 +0000 |
commit | 7c432b265ed7ca5f8304938db73912df8ce35032 (patch) | |
tree | c95de7bee7b742ed92b9924d904adca706e48d80 /agen5/bootstrap.dir | |
download | autogen-a3e93d54c56a526903e9e0915a50e72ea9e22811.tar.gz |
Imported from /srv/lorry/lorry-area/autogen/autogen-5.16.2.tar.gz.HEADautogen-5.16.2master
Diffstat (limited to 'agen5/bootstrap.dir')
-rw-r--r-- | agen5/bootstrap.dir | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/agen5/bootstrap.dir b/agen5/bootstrap.dir new file mode 100644 index 0000000..4d128ba --- /dev/null +++ b/agen5/bootstrap.dir @@ -0,0 +1,148 @@ +#! /bin/echo This_file_must_be_sourced,_not_executed +# +# ---------------------------------------------------------------------- +# agen5/bootstrap.dir --- maintainer's bootstrap script +# +# Author: Bruce Korb <bkorb@gnu.org> +# Time-stamp: "2012-04-14 09:39:36 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 script rebuilds sources not kept in the GIT repository. +# These files are distributed, so it is not necessary to invoke +# AutoGen before building AutoGen. + +# "make" will invoke this file with the name of the desired output +# as an argument. We do this here rather than in the make file +# because some of the rules are complex and we don't want to +# deal with the dual update problem. + +readonly stamp_list=$(echo "stamp-opts${nl}stamp-proto" + sed -n '/^make_[a-z_]*[(]/{;s/^make_/stamp-/;s/[()].*//;p;}' \ + ${srcdir}/mk-stamps.sh) + +set_defaults() +{ + builddir=$(pwd) + srcdir=${srcdir:-$builddir} + AGexe=$(command -v autogen) + CLexe=$(command -v columns) + GDexe=$(command -v getdefs) + + test -x "${AGexe}" -a -x "${GDexe}" -a -x "${CLexe}" || \ + die "autogen is required" + + export builddir srcdir AGexe CLexe GDexe + + # Make sure we have a default for top build and source. + # Some of the templates need this information. + # + local verdata=$(egrep '^AG_' ${top_srcdir}/VERSION | \ + sed 's,^\(AG[^=]*\)\(.*\),\1\2 export \1,') + eval "set -a;${verdata};set +a" + + # disable any $HOME defaults + # + HOME=/dev/null + SHELL=${POSIX_SHELL-/bin/sh} + + ${VERBOSE:-false} && set -x || : + # Ensure complete success or a noticable failure + # + set -e +} + +assemble_Makefile() { + { + sed '/# *start-generated-text/q' ${srcdir}/Makefile.am + echo + + echo list_stamps = '\' + sflist='' + for f in $stamp_list + do sflist=${sflist}$f${nl} + done + printf %s "$sflist" | \ + ${CLexe} --spread=1 -I4 --line=' \' + + echo "if AMDEP" + for f in $stamp_list + do + echo "@am__include@ @am__quote@./\$(DEPDIR)/${f}.d@am__quote@" + done + echo endif + + fmt='\n%s:\n\t@target="$(AUTOGEN_%s_TList)" \\\n' + fmt=${fmt}'\t$(MAKE_STAMP)\n' + for f in $stamp_list + do + g=$(echo $f | sed 's/[^a-zA-Z0-9]/_/g') + printf "$fmt" $f $g + done + printf '\n# end-generated-text\n# end of Makefile.am\n' + + } > Makefile.XX + + if cmp -s Makefile.XX Makefile.am + then rm -f Makefile.XX + else mv -f Makefile.XX Makefile.am + fi +} + +assemble_fmemopen() { + fmemdir=~bkorb/tools/mine/lib/fmemopen + test -f ${fmemdir}/fmemopen.c || return + + test -f agen5/fmemopen.c && rm -f agen5/fmemopen.c + { + echo '#if defined(ENABLE_FMEMOPEN)' + echo '#include <sys/ioctl.h>' + echo + sed -n '/^typedef enum/,/_IOWR(/p' ${fmemdir}/libfmem.h + sed -e '/^#if defined(HAVE_FOPENCOOKIE)/p' \ + -e '/=--subblock/,/^#if defined(HAVE_FOPENCOOKIE)/d' \ + -e "s% @file .*% @file $(realpath ${fmemdir}/fmemopen.c)%" \ + ${fmemdir}/fmemopen.c + echo '#endif /* ENABLE_FMEMOPEN */' + } > fmemopen.c +} + +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +# +# M A I N +# +PS4='>bsag-${FUNCNAME}> ' +set_defaults ${1+"$@"} +DEPDIR= +. ${srcdir}/mk-stamps.sh $stamp_list +assemble_fmemopen +assemble_Makefile + +# IF we symlinked in columns or getdefs, +# THEN it is time to unlink them +# +test -z "$rmlist" || rm -f $rmlist + +# Local Variables: +# mode:shell-script +# sh-indentation:4 +# sh-basic-offset:4 +# indent-tabs-mode: nil +# End: + +# end of agen5/bootstrap.dir |