https://github.com/libsdl-org/SDL/commit/507593f485cd2c63f6c20df6ceea81d375b4edc7
From 507593f485cd2c63f6c20df6ceea81d375b4edc7 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Thu, 9 Jan 2025 14:12:07 -0500
Subject: [PATCH] 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.
---
.wikiheaders-options | 2 ++
build-scripts/wikiheaders.pl | 3 +++
2 files changed, 5 insertions(+)
diff --git a/.wikiheaders-options b/.wikiheaders-options
index 99c19dee9524a..11f6668776fb6 100644
--- a/.wikiheaders-options
+++ b/.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.
diff --git a/build-scripts/wikiheaders.pl b/build-scripts/wikiheaders.pl
index a16a996fcf34e..554b9903651e0 100755
--- a/build-scripts/wikiheaders.pl
+++ b/build-scripts/wikiheaders.pl
@@ -50,6 +50,7 @@
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 @@
$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 @@ sub generate_quickref {
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};