xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/arc/genoptions.awk (revision 528ce0b18ee40383f14928382d06afd754b01561)
1# Copyright (C) 2016-2020 Free Software Foundation, Inc.
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
25BEGIN {
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
67END {
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}
87