[(pushed)] avr: sphinx: port gen-avr-mmcu to RST

Message ID 7cef042e-aa55-3a8f-e637-1106dcfa1162@suse.cz
State New
Headers
Series [(pushed)] avr: sphinx: port gen-avr-mmcu to RST |

Commit Message

Martin Liška Nov. 9, 2022, 10:05 a.m. UTC
  This ports generation of avr-mcus to RST.

Pushed,
Martin

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.
---
 gcc/Makefile.in                               |  7 ++++
 gcc/config/avr/avr-devices.cc                 | 42 +++++++++----------
 gcc/config/avr/avr-mcus.def                   |  2 +-
 ...n-avr-mmcu-texi.cc => gen-avr-mmcu-rst.cc} | 33 +++++++--------
 gcc/config/avr/t-avr                          |  6 +--
 .../machine-dependent-options/avr-mmcu.rst    |  3 +-
 6 files changed, 49 insertions(+), 44 deletions(-)
 rename gcc/config/avr/{gen-avr-mmcu-texi.cc => gen-avr-mmcu-rst.cc} (80%)
  

Patch

diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 428078fbcf9..059606c37d5 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -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
 # --------
diff --git a/gcc/config/avr/avr-devices.cc b/gcc/config/avr/avr-devices.cc
index aa284217f50..611b35f7a27 100644
--- a/gcc/config/avr/avr-devices.cc
+++ b/gcc/config/avr/avr-devices.cc
@@ -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
diff --git a/gcc/config/avr/avr-mcus.def b/gcc/config/avr/avr-mcus.def
index fa5e6685227..26c38a5c7aa 100644
--- a/gcc/config/avr/avr-mcus.def
+++ b/gcc/config/avr/avr-mcus.def
@@ -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.
diff --git a/gcc/config/avr/gen-avr-mmcu-texi.cc b/gcc/config/avr/gen-avr-mmcu-rst.cc
similarity index 80%
rename from gcc/config/avr/gen-avr-mmcu-texi.cc
rename to gcc/config/avr/gen-avr-mmcu-rst.cc
index 0e013e90bd0..19b903c2760 100644
--- a/gcc/config/avr/gen-avr-mmcu-texi.cc
+++ b/gcc/config/avr/gen-avr-mmcu-rst.cc
@@ -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;
 }
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index d7b1751b3b6..8ee31862938 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -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)
diff --git a/gcc/doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst b/gcc/doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst
index df82d0cf906..120f919e331 100644
--- a/gcc/doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst
+++ b/gcc/doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst
@@ -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``.
\ No newline at end of file
+  :samp:`{mcu}=` ``attiny11``, ``attiny12``, ``attiny15``, ``attiny28``, ``at90s1200``.
+