mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-08 08:10:30 -10:00
settings: three labels exist wherever their translations name them
Builds without the MCP server stopped compiling, and so did builds
with the NFS client but not the SMB one:
intl/msg_hash_sk.h: error: 'MENU_ENUM_LABEL_VALUE_MCP_SERVER_TOKEN'
undeclared
intl/msg_hash_sk.h: error: 'MENU_ENUM_LABEL_VALUE_SMB_CLIENT_KDC'
undeclared (and SMB_CLIENT_REALM)
That is Android, iOS, DOS, the MSVC ARM64 build and the Linux builds
configured without networking.
A translation file names a label for every string it has. Where a
setting belongs to a feature, intl/json2h.py copies the row's guard
into the translation file - unless the guard line mentions a
SETTINGS_DEF pass, in which case it drops the whole line, on the
understanding that such a line is always true for strings. These
three rows had
#if defined(HAVE_X) && !defined(SETTINGS_DEF_CONFIG_PASS)
which mentions a pass and is not always true: it needs the feature.
So their translations came out unguarded, naming labels that only
exist with the feature. Nothing failed while no translation had them;
the Crowdin fetch in 553db673e brought the first, and every build
without the feature broke from there.
The rows now make the label wherever the translation is compiled:
- the MCP server's token, in every build, as the server's other two
rows already do;
- the SMB client's Kerberos realm and KDC, with either network
client, which is the guard their region of msg_hash.h and their
translations have.
The settings themselves still need their feature, and stay out of the
configuration table as before. Builds with the features on are
unchanged, and the next Crowdin fetch produces the same files.
Compiled for the seven combinations of the three features: five fail
on master, none with this. The Android single-file build goes from
twelve errors to none, and the Linux build without the MCP server
builds.
This commit is contained in:
1 parent
b208c36f87
commit
418c99cf92
2 files changed
+10
-3
No files matched your search
@@ -28,7 +28,9 @@ S_UINT_EX(mcp_server_port, MCP_SERVER_PORT,
|
||||
"MCP Server Port",
|
||||
"TCP port of the MCP server.")
|
||||
#endif
|
||||
#if defined(HAVE_MCP) && !defined(SETTINGS_DEF_CONFIG_PASS)
|
||||
/* Its label has to exist in every build, as the two above do: the
|
||||
* translations name it whether or not the build has the server. */
|
||||
#if (defined(HAVE_MCP) || defined(SETTINGS_DEF_STRINGS_PASS)) && !defined(SETTINGS_DEF_CONFIG_PASS)
|
||||
S_STRING(mcp_server_token, MCP_SERVER_TOKEN,
|
||||
"mcp_server_token",
|
||||
"", SD_FLAG_ALLOW_INPUT, 0, NULL, NULL, setting_generic_action_start_default, NULL, NULL, NULL, ST_UI_TYPE_STRING_LINE_EDIT,
|
||||
|
||||
@@ -6,14 +6,19 @@
|
||||
|
||||
/* String rows keep their configuration.c rows literal, as the cloud
|
||||
* sync ones do; the descriptor and string tables come from here. */
|
||||
#if defined(HAVE_SMBCLIENT) && !defined(SETTINGS_DEF_CONFIG_PASS)
|
||||
/* The translations name these two labels wherever this group's region
|
||||
* of msg_hash.h is compiled, which is with the SMB client or the NFS
|
||||
* one: intl/json2h.py drops a guard line that mentions a pass, the
|
||||
* feature in it included. So the labels exist with either client;
|
||||
* the rows themselves still need the SMB client. */
|
||||
#if (defined(HAVE_SMBCLIENT) || (defined(SETTINGS_DEF_STRINGS_PASS) && defined(HAVE_NFSCLIENT))) && !defined(SETTINGS_DEF_CONFIG_PASS)
|
||||
S_STRING(smb_client_realm, SMB_CLIENT_REALM,
|
||||
"smb_client_realm",
|
||||
"", SD_FLAG_ALLOW_INPUT, 0, NULL, NULL, setting_generic_action_start_default, NULL, NULL, NULL, ST_UI_TYPE_STRING_LINE_EDIT,
|
||||
"SMB Kerberos Realm",
|
||||
"Kerberos realm for ticket authentication, such as the Active Directory domain in capitals (EXAMPLE.COM). Leave empty for password (NTLMSSP) authentication. The server must be given by host name.")
|
||||
#endif
|
||||
#if defined(HAVE_SMBCLIENT) && !defined(SETTINGS_DEF_CONFIG_PASS)
|
||||
#if (defined(HAVE_SMBCLIENT) || (defined(SETTINGS_DEF_STRINGS_PASS) && defined(HAVE_NFSCLIENT))) && !defined(SETTINGS_DEF_CONFIG_PASS)
|
||||
S_STRING(smb_client_kdc, SMB_CLIENT_KDC,
|
||||
"smb_client_kdc",
|
||||
"", SD_FLAG_ALLOW_INPUT, 0, NULL, NULL, setting_generic_action_start_default, NULL, NULL, NULL, ST_UI_TYPE_STRING_LINE_EDIT,
|
||||
|
||||
Reference in new issue
Block a user