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