145
|
1 # Copyright (C) 2016-2020 Free Software Foundation, Inc.
|
111
|
2 #
|
|
3 # This file is part of GCC.
|
|
4 #
|
|
5 # GCC is free software; you can redistribute it and/or modify it under
|
|
6 # the terms of the GNU General Public License as published by the Free
|
|
7 # Software Foundation; either version 3, or (at your option) any later
|
|
8 # version.
|
|
9 #
|
|
10 # GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
13 # for more details.
|
|
14 #
|
|
15 # You should have received a copy of the GNU General Public License
|
|
16 # along with GCC; see the file COPYING3. If not see
|
|
17 # <http://www.gnu.org/licenses/>.
|
|
18
|
|
19 ##################################################################
|
|
20 #
|
|
21 # This file is using AVR's genmultilib.awk idea.
|
|
22 #
|
|
23 ##################################################################
|
|
24
|
|
25 BEGIN {
|
|
26 FS ="[(, \t)]+"
|
|
27 comment = 1
|
|
28 n_cores = 0
|
|
29 }
|
|
30
|
|
31 ##################################################################
|
|
32 # Add some Comments to the generated Files and copy-paste
|
|
33 # Copyright Notice from above.
|
|
34 ##################################################################
|
|
35 /^#/ {
|
|
36 if (!comment)
|
|
37 next
|
|
38 else if (comment == 1)
|
|
39 {
|
|
40 if (FORMAT == "Makefile")
|
|
41 {
|
|
42 print "; Auto-generated Makefile Snip"
|
|
43 print "; Generated by : ./gcc/config/arc/genoptions.awk"
|
|
44 print "; Generated from : ./gcc/config/arc/arc-cpu.def"
|
|
45 print ";"
|
|
46 }
|
|
47 }
|
|
48
|
|
49 comment = 2;
|
|
50
|
|
51 gsub ("^#", ";", $0)
|
|
52 print
|
|
53 }
|
|
54
|
|
55 /^$/ {
|
|
56 # The first empty line stops copy-pasting the GPL comments
|
|
57 # from this file to the generated file.
|
|
58 comment = 0
|
|
59 }
|
|
60
|
|
61 /^ARC_CPU/ {
|
|
62 name = $2
|
|
63 cores[n_cores] = name;
|
|
64 n_cores++
|
|
65 }
|
|
66
|
|
67 END {
|
|
68 m_option = ""
|
|
69 for (c = 0; c < n_cores; c++)
|
|
70 {
|
|
71 m_options = m_options "EnumValue\nEnum(processor_type) String(" \
|
|
72 cores[c] ") Value(PROCESSOR_" cores[c] ")\n\n"
|
|
73 }
|
|
74
|
|
75 ############################################################
|
|
76 # Output that Stuff
|
|
77 ############################################################
|
|
78
|
|
79 if (FORMAT == "Makefile")
|
|
80 {
|
|
81 print "\nEnum"
|
|
82 print "Name(processor_type) Type(enum processor_type)"
|
|
83 print "Known ARC CPUs (for use with the -mcpu= option):\n"
|
|
84 print m_options
|
|
85 }
|
|
86 }
|