Procházet zdrojové kódy

wikiheaders: Allow symbols to be filtered from manpage generation by regex.

This is specifically to prevent generating a manpage for "Uint32" and friends.

Fixes #11898.
Ryan C. Gordon před 3 měsíci
rodič
revize
507593f485
2 změnil soubory, kde provedl 5 přidání a 0 odebrání
  1. 2 0
      .wikiheaders-options
  2. 3 0
      build-scripts/wikiheaders.pl

+ 2 - 0
.wikiheaders-options

@@ -16,7 +16,9 @@ bugreporturl = https://github.com/libsdl-org/sdlwiki/issues/new
 warn_about_missing = 0
 wikipreamble = (This is the documentation for SDL3, which is the current stable version. [SDL2](https://wiki.libsdl.org/SDL2/) was the previous version!)
 wikiheaderfiletext = Defined in [<SDL3/%fname%>](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/%fname%)
+
 manpageheaderfiletext = Defined in SDL3/%fname%
+manpagesymbolfilterregex = \A[US]int\d+\Z
 
 # All SDL_test_* headers become undefined categories, everything else just converts like SDL_audio.h -> Audio
 # A handful of others we fix up in the header itself with /* WIKI CATEGORY: x */ comments.

+ 3 - 0
build-scripts/wikiheaders.pl

@@ -50,6 +50,7 @@ my $optionsfname = undef;
 my $wikipreamble = undef;
 my $wikiheaderfiletext = 'Defined in %fname%';
 my $manpageheaderfiletext = 'Defined in %fname%';
+my $manpagesymbolfilterregex = undef;
 my $headercategoryeval = undef;
 my $quickrefenabled = 0;
 my @quickrefcategoryorder;
@@ -127,6 +128,7 @@ if (defined $optionsfname) {
             $wikipreamble = $val, next if $key eq 'wikipreamble';
             $wikiheaderfiletext = $val, next if $key eq 'wikiheaderfiletext';
             $manpageheaderfiletext = $val, next if $key eq 'manpageheaderfiletext';
+            $manpagesymbolfilterregex = $val, next if $key eq 'manpagesymbolfilterregex';
             $headercategoryeval = $val, next if $key eq 'headercategoryeval';
             $quickrefenabled = int($val), next if $key eq 'quickrefenabled';
             @quickrefcategoryorder = split(/,/, $val), next if $key eq 'quickrefcategoryorder';
@@ -2758,6 +2760,7 @@ __EOF__
         my $sym = $_;
         next if not defined $wikisyms{$sym};  # don't have a page for that function, skip it.
         next if $sym =~ /\A\[category documentation\]/;   # not real symbols
+        next if (defined $manpagesymbolfilterregex) && ($sym =~ /$manpagesymbolfilterregex/);
         my $symtype = $headersymstype{$sym};
         my $wikitype = $wikitypes{$sym};
         my $sectionsref = $wikisyms{$sym};