avr: sphinx: port gen-avr-mmcu to RST

gcc/ChangeLog:

	* Makefile.in: Add vpath default for .rst files.
	* config/avr/avr-devices.cc: For port RST.
	* config/avr/avr-mcus.def: Update path.
	* config/avr/gen-avr-mmcu-texi.cc: Moved to...
	* config/avr/gen-avr-mmcu-rst.cc: ...here.
	* config/avr/t-avr: Update to rst.
	* doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
This commit is contained in:
Martin Liska 2022-10-19 15:56:00 +02:00
parent e7c8f5005b
commit 79f1313608
6 changed files with 49 additions and 44 deletions

View file

@ -113,6 +113,13 @@ target_objdir := $(toplevel_builddir)/$(target_subdir)
# Directory where sources are, from where we are.
VPATH = @srcdir@
# We define a vpath for the sources of the .rst files here because they
# are split between multiple directories and we would rather use one implicit
# pattern rule for everything.
# This vpath could be extended within the Make-lang fragments.
vpath %.rst $(gcc_docdir)
# --------
# UNSORTED
# --------

View file

@ -64,54 +64,54 @@ avr_arch_types[] =
};
const avr_arch_info_t
avr_texinfo[] =
avr_rst[] =
{
{ ARCH_AVR1,
"This ISA is implemented by the minimal AVR core and supported "
"for assembler only." },
{ ARCH_AVR2,
"``Classic'' devices with up to 8@tie{}KiB of program memory." },
"\"Classic\" devices with up to 8 |nbsp| KiB of program memory." },
{ ARCH_AVR25,
"``Classic'' devices with up to 8@tie{}KiB of program memory and with "
"the @code{MOVW} instruction." },
"\"Classic\" devices with up to 8 |nbsp| KiB of program memory and with "
"the ``MOVW`` instruction." },
{ ARCH_AVR3,
"``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of "
"\"Classic\" devices with 16 |nbsp| KiB up to 64 |nbsp| KiB of "
"program memory." },
{ ARCH_AVR31,
"``Classic'' devices with 128@tie{}KiB of program memory." },
"\"Classic\" devices with 128 |nbsp| KiB of program memory." },
{ ARCH_AVR35,
"``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of "
"program memory and with the @code{MOVW} instruction." },
"\"Classic\" devices with 16 |nbsp| KiB up to 64 |nbsp| KiB of "
"program memory and with the ``MOVW`` instruction." },
{ ARCH_AVR4,
"``Enhanced'' devices with up to 8@tie{}KiB of program memory." },
"\"Enhanced\" devices with up to 8 |nbsp| KiB of program memory." },
{ ARCH_AVR5,
"``Enhanced'' devices with 16@tie{}KiB up to 64@tie{}KiB of "
"\"Enhanced\" devices with 16 |nbsp| KiB up to 64 |nbsp| KiB of "
"program memory." },
{ ARCH_AVR51,
"``Enhanced'' devices with 128@tie{}KiB of program memory." },
"\"Enhanced\" devices with 128 |nbsp| KiB of program memory." },
{ ARCH_AVR6,
"``Enhanced'' devices with 3-byte PC, i.e.@: with more than 128@tie{}KiB "
"\"Enhanced\" devices with 3-byte PC, i.e.: with more than 128 |nbsp| KiB "
"of program memory." },
{ ARCH_AVRTINY,
"``TINY'' Tiny core devices with 512@tie{}B up to 4@tie{}KiB of "
"\"TINY\" Tiny core devices with 512 |nbsp| B up to 4 |nbsp| KiB of "
"program memory." },
{ ARCH_AVRXMEGA2,
"``XMEGA'' devices with more than 8@tie{}KiB and up to 64@tie{}KiB "
"\"XMEGA\" devices with more than 8 |nbsp| KiB and up to 64 |nbsp| KiB "
"of program memory." },
{ ARCH_AVRXMEGA3,
"``XMEGA'' devices with up to 64@tie{}KiB of combined program memory "
"\"XMEGA\" devices with up to 64 |nbsp| KiB of combined program memory "
"and RAM, and with program memory visible in the RAM address space." },
{ ARCH_AVRXMEGA4,
"``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB "
"\"XMEGA\" devices with more than 64 |nbsp| KiB and up to 128 |nbsp| KiB "
"of program memory." },
{ ARCH_AVRXMEGA5,
"``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB "
"of program memory and more than 64@tie{}KiB of RAM." },
"\"XMEGA\" devices with more than 64 |nbsp| KiB and up to 128 |nbsp| KiB "
"of program memory and more than 64 |nbsp| KiB of RAM." },
{ ARCH_AVRXMEGA6,
"``XMEGA'' devices with more than 128@tie{}KiB of program memory." },
"\"XMEGA\" devices with more than 128 |nbsp| KiB of program memory." },
{ ARCH_AVRXMEGA7,
"``XMEGA'' devices with more than 128@tie{}KiB of program memory "
"and more than 64@tie{}KiB of RAM." }
"\"XMEGA\" devices with more than 128 |nbsp| KiB of program memory "
"and more than 64 |nbsp| KiB of RAM." }
};
const avr_mcu_t

View file

@ -23,7 +23,7 @@
This will regenerate / update the following source files:
- $(srcdir)/doc/avr-mmcu.texi
- $(srcdir)/doc/avr-mmcu.rst
After that, rebuild everything and check-in the new sources to the repo.
The device list below should be kept in sync with AVR-LibC.

View file

@ -137,11 +137,11 @@ print_mcus (size_t n_mcus)
qsort (mcus, n_mcus, sizeof (avr_mcu_t*), comparator);
printf ("@*@var{mcu}@tie{}=");
printf (" :samp:`{mcu}=`");
for (i = 0; i < n_mcus; i++)
{
printf (" @code{%s}%s", mcus[i]->name, i == n_mcus-1 ? ".\n\n" : ",");
printf (" ``%s``%s", mcus[i]->name, i == n_mcus-1 ? ".\n\n" : ",");
if (i && !strcmp (mcus[i]->name, mcus[i-1]->name))
{
@ -162,20 +162,18 @@ int main (void)
size_t i, n_mcus = 0;
const avr_mcu_t *mcu;
printf ("@c Copyright (C) 2012-2022 Free Software Foundation, Inc.\n");
printf ("@c This is part of the GCC manual.\n");
printf ("@c For copying conditions, see the file "
"gcc/doc/include/fdl.texi.\n\n");
printf ("..\n");
printf (" Copyright 1988-2022 Free Software Foundation, Inc.\n");
printf (" This is part of the GCC manual.\n");
printf (" For copying conditions, see the copyright.rst file.\n\n");
printf ("@c This file is generated automatically using\n");
printf ("@c gcc/config/avr/gen-avr-mmcu-texi.cc from:\n");
printf ("@c gcc/config/avr/avr-arch.h\n");
printf ("@c gcc/config/avr/avr-devices.cc\n");
printf ("@c gcc/config/avr/avr-mcus.def\n\n");
printf (" This file is generated automatically using\n");
printf (" gcc/config/avr/gen-avr-mmcu-texi.cc from:\n");
printf (" gcc/config/avr/avr-arch.h\n");
printf (" gcc/config/avr/avr-devices.cc\n");
printf (" gcc/config/avr/avr-mcus.def\n\n");
printf ("@c Please do not edit manually.\n\n");
printf ("@table @code\n\n");
printf (" Please do not edit manually.\n\n");
for (mcu = avr_mcu_types; mcu->name; mcu++)
{
@ -187,9 +185,9 @@ int main (void)
print_mcus (n_mcus);
n_mcus = 0;
for (i = 0; i < ARRAY_SIZE (avr_texinfo); i++)
if (arch_id == avr_texinfo[i].arch_id)
printf ("@item %s\n%s\n", mcu->name, avr_texinfo[i].texinfo);
for (i = 0; i < ARRAY_SIZE (avr_rst); i++)
if (arch_id == avr_rst[i].arch_id)
printf ("``%s``\n %s\n\n", mcu->name, avr_rst[i].texinfo);
}
else if (arch_id == (enum avr_arch_id) mcu->arch_id)
{
@ -198,7 +196,6 @@ int main (void)
}
print_mcus (n_mcus);
printf ("@end table\n");
return EXIT_SUCCESS;
}

View file

@ -78,10 +78,10 @@ AVR_MCUS = $(srcdir)/config/avr/avr-mcus.def
.PHONY: avr-mcus
avr-mcus: $(srcdir)/doc/avr-mmcu.texi ; @true
avr-mcus: $(srcdir)/doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst ; @true
# Make sure that native -mmcu= support is in sync with -mmcu= documentation.
gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.cc \
gen-avr-mmcu-rst$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-rst.cc \
$(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
$(srcdir)/config/avr/avr-arch.h
$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@
@ -91,7 +91,7 @@ gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.cc \
$(srcdir)/config/avr/avr-arch.h $(TM_H)
$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@ $(INCLUDES)
$(srcdir)/doc/avr-mmcu.texi: gen-avr-mmcu-texi$(build_exeext)
$(srcdir)/doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: gen-avr-mmcu-rst$(build_exeext)
$(RUN_GEN) ./$< > $@
s-device-specs: gen-avr-mmcu-specs$(build_exeext)

View file

@ -94,4 +94,5 @@
``avr1``
This ISA is implemented by the minimal AVR core and supported for assembler only.
:samp:`{mcu}=` ``attiny11``, ``attiny12``, ``attiny15``, ``attiny28``, ``at90s1200``.
:samp:`{mcu}=` ``attiny11``, ``attiny12``, ``attiny15``, ``attiny28``, ``at90s1200``.