87 lines
2.2 KiB
Awk
87 lines
2.2 KiB
Awk
# Copyright (C) 2016-2021 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 3, or (at your option) any later
|
|
# version.
|
|
#
|
|
# GCC 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 GCC; see the file COPYING3. If not see
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
##################################################################
|
|
#
|
|
# This file is using AVR's genmultilib.awk idea.
|
|
#
|
|
##################################################################
|
|
|
|
BEGIN {
|
|
FS ="[(, \t)]+"
|
|
comment = 1
|
|
n_cores = 0
|
|
}
|
|
|
|
##################################################################
|
|
# Add some Comments to the generated Files and copy-paste
|
|
# Copyright Notice from above.
|
|
##################################################################
|
|
/^#/ {
|
|
if (!comment)
|
|
next
|
|
else if (comment == 1)
|
|
{
|
|
if (FORMAT == "Makefile")
|
|
{
|
|
print "; Auto-generated Makefile Snip"
|
|
print "; Generated by : ./gcc/config/arc/genoptions.awk"
|
|
print "; Generated from : ./gcc/config/arc/arc-cpu.def"
|
|
print ";"
|
|
}
|
|
}
|
|
|
|
comment = 2;
|
|
|
|
gsub ("^#", ";", $0)
|
|
print
|
|
}
|
|
|
|
/^$/ {
|
|
# The first empty line stops copy-pasting the GPL comments
|
|
# from this file to the generated file.
|
|
comment = 0
|
|
}
|
|
|
|
/^ARC_CPU/ {
|
|
name = $2
|
|
cores[n_cores] = name;
|
|
n_cores++
|
|
}
|
|
|
|
END {
|
|
m_option = ""
|
|
for (c = 0; c < n_cores; c++)
|
|
{
|
|
m_options = m_options "EnumValue\nEnum(processor_type) String(" \
|
|
cores[c] ") Value(PROCESSOR_" cores[c] ")\n\n"
|
|
}
|
|
|
|
############################################################
|
|
# Output that Stuff
|
|
############################################################
|
|
|
|
if (FORMAT == "Makefile")
|
|
{
|
|
print "\nEnum"
|
|
print "Name(processor_type) Type(enum processor_type)"
|
|
print "Known ARC CPUs (for use with the -mcpu= option):\n"
|
|
print m_options
|
|
}
|
|
}
|