X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fmkconfig.sh;h=9647ad7ec1666374fe4e20008b7ab4851039bae8;hb=304d9d629e6cba170a5191663dfe1a15ea7b2d59;hp=64d118f1a99c9e1cbf317b442535346fbecda0b4;hpb=805e22b2051e9c6a75377ea6599654d7415da483;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh index 64d118f1a99..9647ad7ec16 100644 --- a/gcc/mkconfig.sh +++ b/gcc/mkconfig.sh @@ -1,11 +1,11 @@ #! /bin/sh -# Copyright (C) 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2006, 2007 Free Software Foundation, Inc. # This file is part of GCC. # GCC 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) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # GCC is distributed in the hope that it will be useful, @@ -14,9 +14,8 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with GCC; see the file COPYING. If not, write to -# the Free Software Foundation, 59 Temple Place - Suite 330, -# Boston MA 02111-1307, USA. +# along with GCC; see the file COPYING3. If not see +# . # Generate gcc's various configuration headers: @@ -33,6 +32,22 @@ fi output=$1 rm -f ${output}T +# This converts a file name into header guard macro format. +hg_sed_expr='y,abcdefghijklmnopqrstuvwxyz./,ABCDEFGHIJKLMNOPQRSTUVWXYZ__,' +header_guard=GCC_`echo ${output} | sed -e ${hg_sed_expr}` + +# Add multiple inclusion protection guard, part one. +echo "#ifndef ${header_guard}" >> ${output}T +echo "#define ${header_guard}" >> ${output}T + +# A special test to ensure that build-time files don't blindly use +# config.h. +if test x"$output" = x"config.h"; then + echo "#ifdef GENERATOR_FILE" >> ${output}T + echo "#error config.h is for the host, not build, machine." >> ${output}T + echo "#endif" >> ${output}T +fi + # Define TARGET_CPU_DEFAULT if the system wants one. # This substitutes for lots of *.h files. if [ "$TARGET_CPU_DEFAULT" != "" ]; then @@ -46,7 +61,7 @@ for def in $DEFINES; do echo "#endif" >> ${output}T done -# The first entry in HEADERS may be auto-host.h or auto-build.h; +# The first entry in HEADERS may be auto-FOO.h ; # it wants to be included even when not -DIN_GCC. if [ -n "$HEADERS" ]; then set $HEADERS @@ -64,17 +79,11 @@ if [ -n "$HEADERS" ]; then fi fi -# If this is tconfig.h, now define USED_FOR_TARGET. If this is tm.h, -# now include insn-constants.h and insn-flags.h only if IN_GCC is -# defined but neither GENERATOR_FILE nor USED_FOR_TARGET is defined. -# (Much of this is temporary.) +# If this is tm.h, now include insn-constants.h and insn-flags.h only +# if IN_GCC is defined but neither GENERATOR_FILE nor USED_FOR_TARGET +# is defined. (Much of this is temporary.) case $output in - tconfig.h ) - cat >> ${output}T <> ${output}T <> ${output}T + # Avoid changing the actual file if possible. if [ -f $output ] && cmp ${output}T $output >/dev/null 2>&1; then echo $output is unchanged >&2