#! /bin/sh
# $Id: config-info,v 1.13 1997/04/25 06:38:52 zeller Exp $
# Get configuration info from `Makefile' and `config.h'

# Copyright (C) 1995 Technische Universitaet Braunschweig, Germany.
# Written by Andreas Zeller <zeller@ips.cs.tu-bs.de>.
# 
# This file is part of the DDD Library.
# 
# The DDD Library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
# 
# The DDD Library 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 Library General Public License for more details.
# 
# You should have received a copy of the GNU Library General Public
# License along with the DDD Library -- see the file COPYING.LIB.
# If not, write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# 
# DDD is the data display debugger.
# For details, see the DDD World-Wide-Web page, 
# `http://www.cs.tu-bs.de/softech/ddd/',
# or send a mail to the DDD developers at `ddd@ips.cs.tu-bs.de'.

# 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 "DDD development team <ddd@ips.cs.tu-bs.de>"`
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 "const char *config_info = "
(
    echo "Built `date '+%x' 2> /dev/null || date '+%D' 2> /dev/null || 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 ";"
