#! /bin/sh
#
# Script to generate the NEWS file from online release notes.
# Contributed by Joseph Myers <jsm28@cam.ac.uk>.
#
# Copyright (C) 2000, 2001 Free Software Foundation, Inc.
# This file is part of GNU CC.
#
# GNU CC 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 2, or (at your option)
# any later version.
#
# GNU CC 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 GNU CC; see the file COPYING.  If not, write to
# the Free Software Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.

website=http://gcc.gnu.org/
files="gcc-3.0/gcc-3.0.html gcc-3.0/features.html gcc-3.0/caveats.html
    gcc-2.95/index.html gcc-2.95/features.html gcc-2.95/caveats.html
    egcs-1.1/index.html egcs-1.1/features.html egcs-1.1/caveats.html
    egcs-1.0/egcs-1.0.3.html egcs-1.0/egcs-1.0.2.html egcs-1.0/egcs-1.0.1.html
    egcs-1.0/egcs-1.0.html egcs-1.0/features.html egcs-1.0/caveats.html"

set -e

cat <<EOF
This file contains information about GCC releases which has been
generated automatically from the online release notes.  This file
covers releases of GCC (and the former EGCS project) since EGCS 1.0,
on the line of development that led to GCC 3; for information on GCC
2.8.1 and older releases of GCC 2, see ONEWS.

EOF

header="======================================================================"

echo $header

for file in $files; do
    wfile=$website$file
    echo $wfile
    # We lie to Lynx about the kind of terminal in use because we
    # want to get consistent output everywhere, and we want this
    # script to work even when it is not run interactively.
    env TERM=vt100 lynx -dump $wfile
    echo $header
done
