OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [mkconfig.sh] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
#! /bin/sh
2
 
3
# Copyright (C) 2001, 2002, 2006, 2007 Free Software Foundation, Inc.
4
# This file is part of GCC.
5
 
6
# GCC is free software; you can redistribute it and/or modify
7
# it under the terms of the GNU General Public License as published by
8
# the Free Software Foundation; either version 3, or (at your option)
9
# any later version.
10
 
11
# GCC is distributed in the hope that it will be useful,
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
# GNU General Public License for more details.
15
 
16
# You should have received a copy of the GNU General Public License
17
# along with GCC; see the file COPYING3.  If not see
18
# <http://www.gnu.org/licenses/>.
19
 
20
 
21
# Generate gcc's various configuration headers:
22
# config.h, tconfig.h, bconfig.h, tm.h, and tm_p.h.
23
# $1 is the file to generate.  DEFINES, HEADERS, and possibly
24
# TARGET_CPU_DEFAULT are expected to be set in the environment.
25
 
26
if [ -z "$1" ]; then
27
    echo "Usage: DEFINES='list' HEADERS='list' \\" >&2
28
    echo "  [TARGET_CPU_DEFAULT='default'] mkconfig.sh FILE" >&2
29
    exit 1
30
fi
31
 
32
output=$1
33
rm -f ${output}T
34
 
35
# This converts a file name into header guard macro format.
36
hg_sed_expr='y,abcdefghijklmnopqrstuvwxyz./,ABCDEFGHIJKLMNOPQRSTUVWXYZ__,'
37
header_guard=GCC_`echo ${output} | sed -e ${hg_sed_expr}`
38
 
39
# Add multiple inclusion protection guard, part one.
40
echo "#ifndef ${header_guard}" >> ${output}T
41
echo "#define ${header_guard}" >> ${output}T
42
 
43
# A special test to ensure that build-time files don't blindly use
44
# config.h.
45
if test x"$output" = x"config.h"; then
46
  echo "#ifdef GENERATOR_FILE" >> ${output}T
47
  echo "#error config.h is for the host, not build, machine." >> ${output}T
48
  echo "#endif" >> ${output}T
49
fi
50
 
51
# Define TARGET_CPU_DEFAULT if the system wants one.
52
# This substitutes for lots of *.h files.
53
if [ "$TARGET_CPU_DEFAULT" != "" ]; then
54
    echo "#define TARGET_CPU_DEFAULT ($TARGET_CPU_DEFAULT)" >> ${output}T
55
fi
56
 
57
# Provide defines for other macros set in config.gcc for this file.
58
for def in $DEFINES; do
59
    echo "#ifndef $def" | sed 's/=.*//' >> ${output}T
60
    echo "# define $def" | sed 's/=/ /' >> ${output}T
61
    echo "#endif" >> ${output}T
62
done
63
 
64
# The first entry in HEADERS may be auto-FOO.h ;
65
# it wants to be included even when not -DIN_GCC.
66
if [ -n "$HEADERS" ]; then
67
    set $HEADERS
68
    case "$1" in auto-* )
69
        echo "#include \"$1\"" >> ${output}T
70
        shift
71
        ;;
72
    esac
73
    if [ $# -ge 1 ]; then
74
        echo '#ifdef IN_GCC' >> ${output}T
75
        for file in "$@"; do
76
            echo "# include \"$file\"" >> ${output}T
77
        done
78
        echo '#endif' >> ${output}T
79
    fi
80
fi
81
 
82
# If this is tm.h, now include insn-constants.h and insn-flags.h only
83
# if IN_GCC is defined but neither GENERATOR_FILE nor USED_FOR_TARGET
84
# is defined.  (Much of this is temporary.)
85
 
86
case $output in
87
    tm.h )
88
        cat >> ${output}T <<EOF
89
#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET
90
# include "insn-constants.h"
91
# include "insn-flags.h"
92
#endif
93
EOF
94
    ;;
95
esac
96
 
97
# Add multiple inclusion protection guard, part two.
98
echo "#endif /* ${header_guard} */" >> ${output}T
99
 
100
# Avoid changing the actual file if possible.
101
if [ -f $output ] && cmp ${output}T $output >/dev/null 2>&1; then
102
    echo $output is unchanged >&2
103
    rm -f ${output}T
104
else
105
    mv -f ${output}T $output
106
fi
107
 
108
# Touch a stamp file for Make's benefit.
109
rm -f cs-$output
110
echo timestamp > cs-$output

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.