#! /bin/sh
# $Id$
# Get configuration info from `Makefile' and `config.h'

# Copyright (C) 1995 Technische Universitaet Braunschweig, Germany.
# Written by Andreas Zeller <zeller@gnu.org>.
# 
# This file is part of DDD.
# 
# DDD 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.
# 
# DDD 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 DDD -- see the file COPYING.
# If not, see <http://www.gnu.org/licenses/>.
# 
# DDD is the data display debugger.
# For details, see the DDD World-Wide-Web page, 
# `http://www.gnu.org/software/ddd/',
# or send a mail to the DDD developers <ddd@gnu.org>.

# Feature info is seldom useful, so leave it out by default
features=false

test "$#" = 0 && set USERINFO

for file in "$@"; do
  if [ $file = '-f' -o $file = '--full' ]; then
    features=true
  else
    test -f $file && break
  fi
done
userinfo=`cat $file || echo "the DDD development team <ddd@gnu.org>"`
userinfo=`echo "$userinfo." | 
sed ':a
\/......................................................../q
s/.*/& /
b a'`
echo "// Generated automatically by \`config-info' from \`Makefile' and \`config.h'."
echo "// Do not edit."
echo
echo '#include "configinfo.h"'
echo 
echo "static const char *config_sccs_info = "
# Issue date in ISO 8601 YYYY-MM-DD format
year=`date '+%Y' 2>/dev/null || date +'%y'`
case $year in
  9?) year=19$year;;
  ??) year=20$year;;
esac
month=`date '+%m'`
day=`date '+%d'`
date=${year}-${month}-${day}
(
    echo "@(#)Built $date by $userinfo"
    if $features; then
      echo ""
      echo Features:
      (
      grep '#define' config.h
      grep '#undef' config.h
      ) |
      sed 's,/\* *\(.*\) *\*/,\1,g' |
      sed 's, *$,,' | sort +1 | sed 's,#undef ,#undef  ,'

      echo
      echo Tools and Flags:
      grep '^[_a-zA-Z]* *=' Makefile | grep -v '\\$' |
      sed 's/\([_a-zA-Z]*\) *= *\(.*\)/\1=\2/' | sort -f
    fi
) | sed '
s/[\"]/\\&/g
s/.*/"&\\n";/'
echo "const char *config_info = config_sccs_info + 4;"
echo "const char *config_dummy = \"@(#)\";";
