Commit 2d349da141 for openssl.org

commit 2d349da141dd1fbe25e5f221a731b2d73d8a2583
Author: Norbert Pocs <norbertp@openssl.org>
Date:   Mon May 4 15:51:50 2026 +0200

    Merge .inc files with header

    When the .inc is only used once, include the file at place.

    Signed-off-by: Norbert Pocs <norbertp@openssl.org>

    Reviewed-by: Neil Horman <nhorman@openssl.org>
    Reviewed-by: Paul Dale <paul.dale@oracle.com>
    Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
    MergeDate: Thu May  7 19:30:01 2026
    (Merged from https://github.com/openssl/openssl/pull/31075)

diff --git a/crypto/asn1/asn1_item_list.c b/crypto/asn1/asn1_item_list.c
index 8d4f6daf6a..b01fb738ac 100644
--- a/crypto/asn1/asn1_item_list.c
+++ b/crypto/asn1/asn1_item_list.c
@@ -23,9 +23,180 @@
 #include <openssl/x509v3.h>
 #include <openssl/x509_acert.h>

-/* clang-format off */
-#include "asn1_item_list.inc"
-/* clang-format on */
+static ASN1_ITEM_EXP *asn1_item_list[] = {
+
+    ASN1_ITEM_ref(ACCESS_DESCRIPTION),
+#ifndef OPENSSL_NO_RFC3779
+    ASN1_ITEM_ref(ASIdOrRange),
+    ASN1_ITEM_ref(ASIdentifierChoice),
+    ASN1_ITEM_ref(ASIdentifiers),
+#endif
+    ASN1_ITEM_ref(ASN1_ANY),
+    ASN1_ITEM_ref(ASN1_BIT_STRING),
+    ASN1_ITEM_ref(ASN1_BMPSTRING),
+    ASN1_ITEM_ref(ASN1_BOOLEAN),
+    ASN1_ITEM_ref(ASN1_ENUMERATED),
+    ASN1_ITEM_ref(ASN1_FBOOLEAN),
+    ASN1_ITEM_ref(ASN1_GENERALIZEDTIME),
+    ASN1_ITEM_ref(ASN1_GENERALSTRING),
+    ASN1_ITEM_ref(ASN1_IA5STRING),
+    ASN1_ITEM_ref(ASN1_INTEGER),
+    ASN1_ITEM_ref(ASN1_NULL),
+    ASN1_ITEM_ref(ASN1_OBJECT),
+    ASN1_ITEM_ref(ASN1_OCTET_STRING_NDEF),
+    ASN1_ITEM_ref(ASN1_OCTET_STRING),
+    ASN1_ITEM_ref(ASN1_PRINTABLESTRING),
+    ASN1_ITEM_ref(ASN1_PRINTABLE),
+    ASN1_ITEM_ref(ASN1_SEQUENCE_ANY),
+    ASN1_ITEM_ref(ASN1_SEQUENCE),
+    ASN1_ITEM_ref(ASN1_SET_ANY),
+    ASN1_ITEM_ref(ASN1_T61STRING),
+    ASN1_ITEM_ref(ASN1_TBOOLEAN),
+    ASN1_ITEM_ref(ASN1_TIME),
+    ASN1_ITEM_ref(ASN1_UNIVERSALSTRING),
+    ASN1_ITEM_ref(ASN1_UTCTIME),
+    ASN1_ITEM_ref(ASN1_UTF8STRING),
+    ASN1_ITEM_ref(ASN1_VISIBLESTRING),
+#ifndef OPENSSL_NO_RFC3779
+    ASN1_ITEM_ref(ASRange),
+#endif
+    ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS),
+    ASN1_ITEM_ref(AUTHORITY_KEYID),
+    ASN1_ITEM_ref(BASIC_CONSTRAINTS),
+    ASN1_ITEM_ref(BIGNUM),
+    ASN1_ITEM_ref(CBIGNUM),
+    ASN1_ITEM_ref(CERTIFICATEPOLICIES),
+#ifndef OPENSSL_NO_CMS
+    ASN1_ITEM_ref(CMS_ContentInfo),
+    ASN1_ITEM_ref(CMS_EnvelopedData),
+    ASN1_ITEM_ref(CMS_ReceiptRequest),
+#endif
+    ASN1_ITEM_ref(CRL_DIST_POINTS),
+#ifndef OPENSSL_NO_DH
+    ASN1_ITEM_ref(DHparams),
+#endif
+    ASN1_ITEM_ref(DIRECTORYSTRING),
+    ASN1_ITEM_ref(DISPLAYTEXT),
+    ASN1_ITEM_ref(DIST_POINT_NAME),
+    ASN1_ITEM_ref(DIST_POINT),
+#ifndef OPENSSL_NO_EC
+#ifndef OPENSSL_NO_DEPRECATED_3_0
+    ASN1_ITEM_ref(ECPARAMETERS),
+    ASN1_ITEM_ref(ECPKPARAMETERS),
+#endif
+#endif
+    ASN1_ITEM_ref(EDIPARTYNAME),
+    ASN1_ITEM_ref(EXTENDED_KEY_USAGE),
+    ASN1_ITEM_ref(GENERAL_NAMES),
+    ASN1_ITEM_ref(GENERAL_NAME),
+    ASN1_ITEM_ref(GENERAL_SUBTREE),
+#ifndef OPENSSL_NO_RFC3779
+    ASN1_ITEM_ref(IPAddressChoice),
+    ASN1_ITEM_ref(IPAddressFamily),
+    ASN1_ITEM_ref(IPAddressOrRange),
+    ASN1_ITEM_ref(IPAddressRange),
+#endif
+    ASN1_ITEM_ref(ISSUING_DIST_POINT),
+#ifndef OPENSSL_NO_DEPRECATED_3_0
+    ASN1_ITEM_ref(LONG),
+#endif
+    ASN1_ITEM_ref(NAME_CONSTRAINTS),
+    ASN1_ITEM_ref(NETSCAPE_CERT_SEQUENCE),
+    ASN1_ITEM_ref(NETSCAPE_SPKAC),
+    ASN1_ITEM_ref(NETSCAPE_SPKI),
+    ASN1_ITEM_ref(NOTICEREF),
+#ifndef OPENSSL_NO_OCSP
+    ASN1_ITEM_ref(OCSP_BASICRESP),
+    ASN1_ITEM_ref(OCSP_CERTID),
+    ASN1_ITEM_ref(OCSP_CERTSTATUS),
+    ASN1_ITEM_ref(OCSP_CRLID),
+    ASN1_ITEM_ref(OCSP_ONEREQ),
+    ASN1_ITEM_ref(OCSP_REQINFO),
+    ASN1_ITEM_ref(OCSP_REQUEST),
+    ASN1_ITEM_ref(OCSP_RESPBYTES),
+    ASN1_ITEM_ref(OCSP_RESPDATA),
+    ASN1_ITEM_ref(OCSP_RESPID),
+    ASN1_ITEM_ref(OCSP_RESPONSE),
+    ASN1_ITEM_ref(OCSP_REVOKEDINFO),
+    ASN1_ITEM_ref(OCSP_SERVICELOC),
+    ASN1_ITEM_ref(OCSP_SIGNATURE),
+    ASN1_ITEM_ref(OCSP_SINGLERESP),
+#endif
+    ASN1_ITEM_ref(OTHERNAME),
+    ASN1_ITEM_ref(PBE2PARAM),
+    ASN1_ITEM_ref(PBEPARAM),
+    ASN1_ITEM_ref(PBKDF2PARAM),
+    ASN1_ITEM_ref(PKCS12_AUTHSAFES),
+    ASN1_ITEM_ref(PKCS12_BAGS),
+    ASN1_ITEM_ref(PKCS12_MAC_DATA),
+    ASN1_ITEM_ref(PKCS12_SAFEBAGS),
+    ASN1_ITEM_ref(PKCS12_SAFEBAG),
+    ASN1_ITEM_ref(PKCS12),
+    ASN1_ITEM_ref(PKCS7_ATTR_SIGN),
+    ASN1_ITEM_ref(PKCS7_ATTR_VERIFY),
+    ASN1_ITEM_ref(PKCS7_DIGEST),
+    ASN1_ITEM_ref(PKCS7_ENCRYPT),
+    ASN1_ITEM_ref(PKCS7_ENC_CONTENT),
+    ASN1_ITEM_ref(PKCS7_ENVELOPE),
+    ASN1_ITEM_ref(PKCS7_ISSUER_AND_SERIAL),
+    ASN1_ITEM_ref(PKCS7_RECIP_INFO),
+    ASN1_ITEM_ref(PKCS7_SIGNED),
+    ASN1_ITEM_ref(PKCS7_SIGNER_INFO),
+    ASN1_ITEM_ref(PKCS7_SIGN_ENVELOPE),
+    ASN1_ITEM_ref(PKCS7),
+    ASN1_ITEM_ref(PKCS8_PRIV_KEY_INFO),
+    ASN1_ITEM_ref(PKEY_USAGE_PERIOD),
+    ASN1_ITEM_ref(POLICYINFO),
+    ASN1_ITEM_ref(POLICYQUALINFO),
+    ASN1_ITEM_ref(POLICY_CONSTRAINTS),
+    ASN1_ITEM_ref(POLICY_MAPPINGS),
+    ASN1_ITEM_ref(POLICY_MAPPING),
+    ASN1_ITEM_ref(PROXY_CERT_INFO_EXTENSION),
+    ASN1_ITEM_ref(PROXY_POLICY),
+#ifndef OPENSSL_NO_DEPRECATED_3_0
+    ASN1_ITEM_ref(RSAPrivateKey),
+    ASN1_ITEM_ref(RSAPublicKey),
+    ASN1_ITEM_ref(RSA_OAEP_PARAMS),
+    ASN1_ITEM_ref(RSA_PSS_PARAMS),
+#endif
+#ifndef OPENSSL_NO_SCRYPT
+    ASN1_ITEM_ref(SCRYPT_PARAMS),
+#endif
+    ASN1_ITEM_ref(SXNETID),
+    ASN1_ITEM_ref(SXNET),
+    ASN1_ITEM_ref(ISSUER_SIGN_TOOL),
+    ASN1_ITEM_ref(USERNOTICE),
+    ASN1_ITEM_ref(X509_ACERT),
+    ASN1_ITEM_ref(X509_ALGORS),
+    ASN1_ITEM_ref(X509_ALGOR),
+    ASN1_ITEM_ref(X509_ATTRIBUTE),
+    ASN1_ITEM_ref(X509_CERT_AUX),
+    ASN1_ITEM_ref(X509_CINF),
+    ASN1_ITEM_ref(X509_CRL_INFO),
+    ASN1_ITEM_ref(X509_CRL),
+    ASN1_ITEM_ref(X509_EXTENSIONS),
+    ASN1_ITEM_ref(X509_EXTENSION),
+    ASN1_ITEM_ref(X509_NAME_ENTRY),
+    ASN1_ITEM_ref(X509_NAME),
+    ASN1_ITEM_ref(X509_PUBKEY),
+    ASN1_ITEM_ref(X509_REQ_INFO),
+    ASN1_ITEM_ref(X509_REQ),
+    ASN1_ITEM_ref(X509_REVOKED),
+    ASN1_ITEM_ref(X509_SIG),
+    ASN1_ITEM_ref(X509_VAL),
+    ASN1_ITEM_ref(X509),
+#ifndef OPENSSL_NO_DEPRECATED_3_0
+    ASN1_ITEM_ref(ZLONG),
+#endif
+    ASN1_ITEM_ref(INT32),
+    ASN1_ITEM_ref(UINT32),
+    ASN1_ITEM_ref(ZINT32),
+    ASN1_ITEM_ref(ZUINT32),
+    ASN1_ITEM_ref(INT64),
+    ASN1_ITEM_ref(UINT64),
+    ASN1_ITEM_ref(ZINT64),
+    ASN1_ITEM_ref(ZUINT64),
+};

 const ASN1_ITEM *ASN1_ITEM_lookup(const char *name)
 {
diff --git a/crypto/asn1/asn1_item_list.inc b/crypto/asn1/asn1_item_list.inc
deleted file mode 100644
index f26954ecb7..0000000000
--- a/crypto/asn1/asn1_item_list.inc
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the Apache License 2.0 (the "License").  You may not use
- * this file except in compliance with the License.  You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-static ASN1_ITEM_EXP *asn1_item_list[] = {
-
-    ASN1_ITEM_ref(ACCESS_DESCRIPTION),
-#ifndef OPENSSL_NO_RFC3779
-    ASN1_ITEM_ref(ASIdOrRange),
-    ASN1_ITEM_ref(ASIdentifierChoice),
-    ASN1_ITEM_ref(ASIdentifiers),
-#endif
-    ASN1_ITEM_ref(ASN1_ANY),
-    ASN1_ITEM_ref(ASN1_BIT_STRING),
-    ASN1_ITEM_ref(ASN1_BMPSTRING),
-    ASN1_ITEM_ref(ASN1_BOOLEAN),
-    ASN1_ITEM_ref(ASN1_ENUMERATED),
-    ASN1_ITEM_ref(ASN1_FBOOLEAN),
-    ASN1_ITEM_ref(ASN1_GENERALIZEDTIME),
-    ASN1_ITEM_ref(ASN1_GENERALSTRING),
-    ASN1_ITEM_ref(ASN1_IA5STRING),
-    ASN1_ITEM_ref(ASN1_INTEGER),
-    ASN1_ITEM_ref(ASN1_NULL),
-    ASN1_ITEM_ref(ASN1_OBJECT),
-    ASN1_ITEM_ref(ASN1_OCTET_STRING_NDEF),
-    ASN1_ITEM_ref(ASN1_OCTET_STRING),
-    ASN1_ITEM_ref(ASN1_PRINTABLESTRING),
-    ASN1_ITEM_ref(ASN1_PRINTABLE),
-    ASN1_ITEM_ref(ASN1_SEQUENCE_ANY),
-    ASN1_ITEM_ref(ASN1_SEQUENCE),
-    ASN1_ITEM_ref(ASN1_SET_ANY),
-    ASN1_ITEM_ref(ASN1_T61STRING),
-    ASN1_ITEM_ref(ASN1_TBOOLEAN),
-    ASN1_ITEM_ref(ASN1_TIME),
-    ASN1_ITEM_ref(ASN1_UNIVERSALSTRING),
-    ASN1_ITEM_ref(ASN1_UTCTIME),
-    ASN1_ITEM_ref(ASN1_UTF8STRING),
-    ASN1_ITEM_ref(ASN1_VISIBLESTRING),
-#ifndef OPENSSL_NO_RFC3779
-    ASN1_ITEM_ref(ASRange),
-#endif
-    ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS),
-    ASN1_ITEM_ref(AUTHORITY_KEYID),
-    ASN1_ITEM_ref(BASIC_CONSTRAINTS),
-    ASN1_ITEM_ref(BIGNUM),
-    ASN1_ITEM_ref(CBIGNUM),
-    ASN1_ITEM_ref(CERTIFICATEPOLICIES),
-#ifndef OPENSSL_NO_CMS
-    ASN1_ITEM_ref(CMS_ContentInfo),
-    ASN1_ITEM_ref(CMS_EnvelopedData),
-    ASN1_ITEM_ref(CMS_ReceiptRequest),
-#endif
-    ASN1_ITEM_ref(CRL_DIST_POINTS),
-#ifndef OPENSSL_NO_DH
-    ASN1_ITEM_ref(DHparams),
-#endif
-    ASN1_ITEM_ref(DIRECTORYSTRING),
-    ASN1_ITEM_ref(DISPLAYTEXT),
-    ASN1_ITEM_ref(DIST_POINT_NAME),
-    ASN1_ITEM_ref(DIST_POINT),
-#ifndef OPENSSL_NO_EC
-#ifndef OPENSSL_NO_DEPRECATED_3_0
-    ASN1_ITEM_ref(ECPARAMETERS),
-    ASN1_ITEM_ref(ECPKPARAMETERS),
-#endif
-#endif
-    ASN1_ITEM_ref(EDIPARTYNAME),
-    ASN1_ITEM_ref(EXTENDED_KEY_USAGE),
-    ASN1_ITEM_ref(GENERAL_NAMES),
-    ASN1_ITEM_ref(GENERAL_NAME),
-    ASN1_ITEM_ref(GENERAL_SUBTREE),
-#ifndef OPENSSL_NO_RFC3779
-    ASN1_ITEM_ref(IPAddressChoice),
-    ASN1_ITEM_ref(IPAddressFamily),
-    ASN1_ITEM_ref(IPAddressOrRange),
-    ASN1_ITEM_ref(IPAddressRange),
-#endif
-    ASN1_ITEM_ref(ISSUING_DIST_POINT),
-#ifndef OPENSSL_NO_DEPRECATED_3_0
-    ASN1_ITEM_ref(LONG),
-#endif
-    ASN1_ITEM_ref(NAME_CONSTRAINTS),
-    ASN1_ITEM_ref(NETSCAPE_CERT_SEQUENCE),
-    ASN1_ITEM_ref(NETSCAPE_SPKAC),
-    ASN1_ITEM_ref(NETSCAPE_SPKI),
-    ASN1_ITEM_ref(NOTICEREF),
-#ifndef OPENSSL_NO_OCSP
-    ASN1_ITEM_ref(OCSP_BASICRESP),
-    ASN1_ITEM_ref(OCSP_CERTID),
-    ASN1_ITEM_ref(OCSP_CERTSTATUS),
-    ASN1_ITEM_ref(OCSP_CRLID),
-    ASN1_ITEM_ref(OCSP_ONEREQ),
-    ASN1_ITEM_ref(OCSP_REQINFO),
-    ASN1_ITEM_ref(OCSP_REQUEST),
-    ASN1_ITEM_ref(OCSP_RESPBYTES),
-    ASN1_ITEM_ref(OCSP_RESPDATA),
-    ASN1_ITEM_ref(OCSP_RESPID),
-    ASN1_ITEM_ref(OCSP_RESPONSE),
-    ASN1_ITEM_ref(OCSP_REVOKEDINFO),
-    ASN1_ITEM_ref(OCSP_SERVICELOC),
-    ASN1_ITEM_ref(OCSP_SIGNATURE),
-    ASN1_ITEM_ref(OCSP_SINGLERESP),
-#endif
-    ASN1_ITEM_ref(OTHERNAME),
-    ASN1_ITEM_ref(PBE2PARAM),
-    ASN1_ITEM_ref(PBEPARAM),
-    ASN1_ITEM_ref(PBKDF2PARAM),
-    ASN1_ITEM_ref(PKCS12_AUTHSAFES),
-    ASN1_ITEM_ref(PKCS12_BAGS),
-    ASN1_ITEM_ref(PKCS12_MAC_DATA),
-    ASN1_ITEM_ref(PKCS12_SAFEBAGS),
-    ASN1_ITEM_ref(PKCS12_SAFEBAG),
-    ASN1_ITEM_ref(PKCS12),
-    ASN1_ITEM_ref(PKCS7_ATTR_SIGN),
-    ASN1_ITEM_ref(PKCS7_ATTR_VERIFY),
-    ASN1_ITEM_ref(PKCS7_DIGEST),
-    ASN1_ITEM_ref(PKCS7_ENCRYPT),
-    ASN1_ITEM_ref(PKCS7_ENC_CONTENT),
-    ASN1_ITEM_ref(PKCS7_ENVELOPE),
-    ASN1_ITEM_ref(PKCS7_ISSUER_AND_SERIAL),
-    ASN1_ITEM_ref(PKCS7_RECIP_INFO),
-    ASN1_ITEM_ref(PKCS7_SIGNED),
-    ASN1_ITEM_ref(PKCS7_SIGNER_INFO),
-    ASN1_ITEM_ref(PKCS7_SIGN_ENVELOPE),
-    ASN1_ITEM_ref(PKCS7),
-    ASN1_ITEM_ref(PKCS8_PRIV_KEY_INFO),
-    ASN1_ITEM_ref(PKEY_USAGE_PERIOD),
-    ASN1_ITEM_ref(POLICYINFO),
-    ASN1_ITEM_ref(POLICYQUALINFO),
-    ASN1_ITEM_ref(POLICY_CONSTRAINTS),
-    ASN1_ITEM_ref(POLICY_MAPPINGS),
-    ASN1_ITEM_ref(POLICY_MAPPING),
-    ASN1_ITEM_ref(PROXY_CERT_INFO_EXTENSION),
-    ASN1_ITEM_ref(PROXY_POLICY),
-#ifndef OPENSSL_NO_DEPRECATED_3_0
-    ASN1_ITEM_ref(RSAPrivateKey),
-    ASN1_ITEM_ref(RSAPublicKey),
-    ASN1_ITEM_ref(RSA_OAEP_PARAMS),
-    ASN1_ITEM_ref(RSA_PSS_PARAMS),
-#endif
-#ifndef OPENSSL_NO_SCRYPT
-    ASN1_ITEM_ref(SCRYPT_PARAMS),
-#endif
-    ASN1_ITEM_ref(SXNETID),
-    ASN1_ITEM_ref(SXNET),
-    ASN1_ITEM_ref(ISSUER_SIGN_TOOL),
-    ASN1_ITEM_ref(USERNOTICE),
-    ASN1_ITEM_ref(X509_ACERT),
-    ASN1_ITEM_ref(X509_ALGORS),
-    ASN1_ITEM_ref(X509_ALGOR),
-    ASN1_ITEM_ref(X509_ATTRIBUTE),
-    ASN1_ITEM_ref(X509_CERT_AUX),
-    ASN1_ITEM_ref(X509_CINF),
-    ASN1_ITEM_ref(X509_CRL_INFO),
-    ASN1_ITEM_ref(X509_CRL),
-    ASN1_ITEM_ref(X509_EXTENSIONS),
-    ASN1_ITEM_ref(X509_EXTENSION),
-    ASN1_ITEM_ref(X509_NAME_ENTRY),
-    ASN1_ITEM_ref(X509_NAME),
-    ASN1_ITEM_ref(X509_PUBKEY),
-    ASN1_ITEM_ref(X509_REQ_INFO),
-    ASN1_ITEM_ref(X509_REQ),
-    ASN1_ITEM_ref(X509_REVOKED),
-    ASN1_ITEM_ref(X509_SIG),
-    ASN1_ITEM_ref(X509_VAL),
-    ASN1_ITEM_ref(X509),
-#ifndef OPENSSL_NO_DEPRECATED_3_0
-    ASN1_ITEM_ref(ZLONG),
-#endif
-    ASN1_ITEM_ref(INT32),
-    ASN1_ITEM_ref(UINT32),
-    ASN1_ITEM_ref(ZINT32),
-    ASN1_ITEM_ref(ZUINT32),
-    ASN1_ITEM_ref(INT64),
-    ASN1_ITEM_ref(UINT64),
-    ASN1_ITEM_ref(ZINT64),
-    ASN1_ITEM_ref(ZUINT64),
-};
diff --git a/crypto/async/arch/async_null.inc b/crypto/async/arch/async_null.inc
deleted file mode 100644
index 6be0b96f9e..0000000000
--- a/crypto/async/arch/async_null.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2015-2022 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the Apache License 2.0 (the "License").  You may not use
- * this file except in compliance with the License.  You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-#include <openssl/async.h>
-
-/*
- * If we haven't managed to detect any other async architecture then we default
- * to NULL.
- */
-#ifndef ASYNC_ARCH
-#define ASYNC_NULL
-#define ASYNC_ARCH
-
-typedef struct async_fibre_st {
-    int dummy;
-} async_fibre;
-
-#define async_fibre_swapcontext(o, n, r) 0
-#define async_fibre_makecontext(c) 0
-#define async_fibre_free(f)
-#define async_fibre_init_dispatcher(f)
-#define async_local_init() 1
-#define async_local_deinit()
-
-#endif
diff --git a/crypto/async/arch/async_posix.inc b/crypto/async/arch/async_posix.inc
deleted file mode 100644
index 449ca27d22..0000000000
--- a/crypto/async/arch/async_posix.inc
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright 2015-2024 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the Apache License 2.0 (the "License").  You may not use
- * this file except in compliance with the License.  You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-#ifndef OSSL_CRYPTO_ASYNC_POSIX_H
-#define OSSL_CRYPTO_ASYNC_POSIX_H
-#include <openssl/e_os2.h>
-
-#if defined(OPENSSL_SYS_UNIX)                                 \
-    && defined(OPENSSL_THREADS) && !defined(OPENSSL_NO_ASYNC) \
-    && !defined(__ANDROID__) && !defined(__OpenBSD__)         \
-    && !defined(OPENSSL_SYS_TANDEM)
-
-#include <unistd.h>
-
-#if _POSIX_VERSION >= 200112L \
-    && (_POSIX_VERSION < 200809L || defined(__GLIBC__) || defined(__FreeBSD__))
-
-#include <pthread.h>
-
-#define ASYNC_POSIX
-#define ASYNC_ARCH
-
-#if defined(__CET__) || defined(__ia64__)
-/*
- * When Intel CET is enabled, makecontext will create a different
- * shadow stack for each context.  async_fibre_swapcontext cannot
- * use _longjmp.  It must call swapcontext to swap shadow stack as
- * well as normal stack.
- * On IA64 the register stack engine is not saved across setjmp/longjmp. Here
- * swapcontext() performs correctly.
- */
-#define USE_SWAPCONTEXT
-#endif
-#if defined(__aarch64__) && defined(__clang__) \
-    && defined(__ARM_FEATURE_BTI_DEFAULT) && __ARM_FEATURE_BTI_DEFAULT == 1
-/*
- * setjmp/longjmp don't currently work with BTI on all libc implementations
- * when compiled by clang. This is because clang doesn't put a BTI after the
- * call to setjmp where it returns the second time. This then fails on libc
- * implementations - notably glibc - which use an indirect jump to there.
- * So use the swapcontext implementation, which does work.
- * See https://github.com/llvm/llvm-project/issues/48888.
- */
-#define USE_SWAPCONTEXT
-#endif
-#if defined(OPENSSL_SYS_TANDEM)
-#include <tdmsig.h>
-#else
-#include <ucontext.h>
-#endif
-#ifndef USE_SWAPCONTEXT
-#include <setjmp.h>
-#endif
-
-typedef struct async_fibre_st {
-    ucontext_t fibre;
-#ifndef USE_SWAPCONTEXT
-    jmp_buf env;
-    int env_init;
-#endif
-} async_fibre;
-
-int async_local_init(void);
-void async_local_deinit(void);
-
-static ossl_inline int async_fibre_swapcontext(async_fibre *o, async_fibre *n, int r)
-{
-#ifdef USE_SWAPCONTEXT
-    swapcontext(&o->fibre, &n->fibre);
-#else
-    o->env_init = 1;
-
-    if (!r || !_setjmp(o->env)) {
-        if (n->env_init)
-            _longjmp(n->env, 1);
-        else
-            setcontext(&n->fibre);
-    }
-#endif
-
-    return 1;
-}
-
-#define async_fibre_init_dispatcher(d)
-
-int async_fibre_makecontext(async_fibre *fibre);
-void async_fibre_free(async_fibre *fibre);
-
-#endif
-#endif
-#endif /* OSSL_CRYPTO_ASYNC_POSIX_H */
diff --git a/crypto/async/arch/async_win.inc b/crypto/async/arch/async_win.inc
deleted file mode 100644
index ef134f53ab..0000000000
--- a/crypto/async/arch/async_win.inc
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2015-2022 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the Apache License 2.0 (the "License").  You may not use
- * this file except in compliance with the License.  You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-/*
- * This is the same detection used in cryptlib to set up the thread local
- * storage that we depend on, so just copy that
- */
-#if defined(_WIN32) && !defined(OPENSSL_NO_ASYNC)
-#include <openssl/async.h>
-#define ASYNC_WIN
-#define ASYNC_ARCH
-
-#include <windows.h>
-#include "internal/cryptlib.h"
-
-typedef struct async_fibre_st {
-    LPVOID fibre;
-    int converted;
-} async_fibre;
-
-#define async_fibre_swapcontext(o, n, r) \
-    (SwitchToFiber((n)->fibre), 1)
-
-#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x600
-#define async_fibre_makecontext(c)                             \
-    ((c)->fibre = CreateFiberEx(0, 0, FIBER_FLAG_FLOAT_SWITCH, \
-         async_start_func_win, 0))
-#else
-#define async_fibre_makecontext(c) \
-    ((c)->fibre = CreateFiber(0, async_start_func_win, 0))
-#endif
-
-#define async_fibre_free(f) (DeleteFiber((f)->fibre))
-#define async_local_init() 1
-#define async_local_deinit()
-
-int async_fibre_init_dispatcher(async_fibre *fibre);
-VOID CALLBACK async_start_func_win(PVOID unused);
-
-#endif
diff --git a/crypto/async/async_local.h b/crypto/async/async_local.h
index 9db3103c37..b41309ac41 100644
--- a/crypto/async/async_local.h
+++ b/crypto/async/async_local.h
@@ -19,21 +19,146 @@
 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 #endif

+#include <openssl/crypto.h>
+#include <openssl/e_os2.h>
+
+typedef struct async_ctx_st async_ctx;
+typedef struct async_pool_st async_pool;
+
 #if defined(_WIN32)
+#define ASYNC_WIN
+#define ASYNC_ARCH
+
 #include <windows.h>
+#include "internal/cryptlib.h"
+
+typedef struct async_fibre_st {
+    LPVOID fibre;
+    int converted;
+} async_fibre;
+
+#define async_fibre_swapcontext(o, n, r) \
+    (SwitchToFiber((n)->fibre), 1)
+
+#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x600
+#define async_fibre_makecontext(c)                             \
+    ((c)->fibre = CreateFiberEx(0, 0, FIBER_FLAG_FLOAT_SWITCH, \
+         async_start_func_win, 0))
+#else
+#define async_fibre_makecontext(c) \
+    ((c)->fibre = CreateFiber(0, async_start_func_win, 0))
 #endif

-#include "crypto/async.h"
-#include <openssl/crypto.h>
+#define async_fibre_free(f) (DeleteFiber((f)->fibre))
+#define async_local_init() 1
+#define async_local_deinit()

-typedef struct async_ctx_st async_ctx;
-typedef struct async_pool_st async_pool;
+int async_fibre_init_dispatcher(async_fibre *fibre);
+VOID CALLBACK async_start_func_win(PVOID unused);
+
+#elif defined(OPENSSL_SYS_UNIX)                               \
+    && defined(OPENSSL_THREADS) && !defined(OPENSSL_NO_ASYNC) \
+    && !defined(__ANDROID__) && !defined(__OpenBSD__)         \
+    && !defined(OPENSSL_SYS_TANDEM)
+
+#include <unistd.h>
+
+#if _POSIX_VERSION >= 200112L \
+    && (_POSIX_VERSION < 200809L || defined(__GLIBC__) || defined(__FreeBSD__))
+
+#include <pthread.h>

-/* clang-format off */
-#include "arch/async_win.inc"
-#include "arch/async_posix.inc"
-#include "arch/async_null.inc"
-/* clang-format on */
+#define ASYNC_POSIX
+#define ASYNC_ARCH
+
+#if defined(__CET__) || defined(__ia64__)
+/*
+ * When Intel CET is enabled, makecontext will create a different
+ * shadow stack for each context.  async_fibre_swapcontext cannot
+ * use _longjmp.  It must call swapcontext to swap shadow stack as
+ * well as normal stack.
+ * On IA64 the register stack engine is not saved across setjmp/longjmp. Here
+ * swapcontext() performs correctly.
+ */
+#define USE_SWAPCONTEXT
+#endif
+#if defined(__aarch64__) && defined(__clang__) \
+    && defined(__ARM_FEATURE_BTI_DEFAULT) && __ARM_FEATURE_BTI_DEFAULT == 1
+/*
+ * setjmp/longjmp don't currently work with BTI on all libc implementations
+ * when compiled by clang. This is because clang doesn't put a BTI after the
+ * call to setjmp where it returns the second time. This then fails on libc
+ * implementations - notably glibc - which use an indirect jump to there.
+ * So use the swapcontext implementation, which does work.
+ * See https://github.com/llvm/llvm-project/issues/48888.
+ */
+#define USE_SWAPCONTEXT
+#endif
+#if defined(OPENSSL_SYS_TANDEM)
+#include <tdmsig.h>
+#else
+#include <ucontext.h>
+#endif
+#ifndef USE_SWAPCONTEXT
+#include <setjmp.h>
+#endif
+
+typedef struct async_fibre_st {
+    ucontext_t fibre;
+#ifndef USE_SWAPCONTEXT
+    jmp_buf env;
+    int env_init;
+#endif
+} async_fibre;
+
+int async_local_init(void);
+void async_local_deinit(void);
+
+static ossl_inline int async_fibre_swapcontext(async_fibre *o, async_fibre *n, int r)
+{
+#ifdef USE_SWAPCONTEXT
+    swapcontext(&o->fibre, &n->fibre);
+#else
+    o->env_init = 1;
+
+    if (!r || !_setjmp(o->env)) {
+        if (n->env_init)
+            _longjmp(n->env, 1);
+        else
+            setcontext(&n->fibre);
+    }
+#endif
+
+    return 1;
+}
+
+#define async_fibre_init_dispatcher(d)
+
+int async_fibre_makecontext(async_fibre *fibre);
+void async_fibre_free(async_fibre *fibre);
+
+#endif
+#endif /* UNIX */
+
+#ifndef ASYNC_ARCH
+#define ASYNC_NULL
+#define ASYNC_ARCH
+
+typedef struct async_fibre_st {
+    int dummy;
+} async_fibre;
+
+#define async_fibre_swapcontext(o, n, r) 0
+#define async_fibre_makecontext(c) 0
+#define async_fibre_free(f)
+#define async_fibre_init_dispatcher(f)
+#define async_local_init() 1
+#define async_local_deinit()
+#endif
+
+/* needs to be included after windows.h */
+#include <openssl/async.h>
+#include "crypto/async.h"

 struct async_ctx_st {
     async_fibre dispatcher;
diff --git a/crypto/ec/curve448/arch_32/f_impl.inc b/crypto/ec/curve448/arch_32/f_impl.inc
deleted file mode 100644
index 017844c11d..0000000000
--- a/crypto/ec/curve448/arch_32/f_impl.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
- * Copyright 2014-2016 Cryptography Research, Inc.
- *
- * Licensed under the Apache License 2.0 (the "License").  You may not use
- * this file except in compliance with the License.  You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- *
- * Originally written by Mike Hamburg
- */
-
-#ifndef OSSL_CRYPTO_EC_CURVE448_ARCH_32_F_IMPL_H
-#define OSSL_CRYPTO_EC_CURVE448_ARCH_32_F_IMPL_H
-
-#define GF_HEADROOM 2
-#define LIMB(x) ((x) & ((1 << 28) - 1)), ((x) >> 28)
-#define FIELD_LITERAL(a, b, c, d, e, f, g, h)                                      \
-    {                                                                              \
-        {                                                                          \
-            LIMB(a), LIMB(b), LIMB(c), LIMB(d), LIMB(e), LIMB(f), LIMB(g), LIMB(h) \
-        }                                                                          \
-    }
-
-#define LIMB_PLACE_VALUE(i) 28
-
-void gf_add_RAW(gf out, const gf a, const gf b)
-{
-    unsigned int i;
-
-    for (i = 0; i < NLIMBS; i++)
-        out->limb[i] = a->limb[i] + b->limb[i];
-}
-
-void gf_sub_RAW(gf out, const gf a, const gf b)
-{
-    unsigned int i;
-
-    for (i = 0; i < NLIMBS; i++)
-        out->limb[i] = a->limb[i] - b->limb[i];
-}
-
-void gf_bias(gf a, int amt)
-{
-    unsigned int i;
-    uint32_t co1 = ((1 << 28) - 1) * amt, co2 = co1 - amt;
-
-    for (i = 0; i < NLIMBS; i++)
-        a->limb[i] += (i == NLIMBS / 2) ? co2 : co1;
-}
-
-void gf_weak_reduce(gf a)
-{
-    uint32_t mask = (1 << 28) - 1;
-    uint32_t tmp = a->limb[NLIMBS - 1] >> 28;
-    unsigned int i;
-
-    a->limb[NLIMBS / 2] += tmp;
-    for (i = NLIMBS - 1; i > 0; i--)
-        a->limb[i] = (a->limb[i] & mask) + (a->limb[i - 1] >> 28);
-    a->limb[0] = (a->limb[0] & mask) + tmp;
-}
-
-#endif /* OSSL_CRYPTO_EC_CURVE448_ARCH_32_F_IMPL_H */
diff --git a/crypto/ec/curve448/arch_64/f_impl.inc b/crypto/ec/curve448/arch_64/f_impl.inc
deleted file mode 100644
index 3e27820171..0000000000
--- a/crypto/ec/curve448/arch_64/f_impl.inc
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright 2017-2022 The OpenSSL Project Authors. All Rights Reserved.
- * Copyright 2014-2016 Cryptography Research, Inc.
- *
- * Licensed under the Apache License 2.0 (the "License").  You may not use
- * this file except in compliance with the License.  You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- *
- * Originally written by Mike Hamburg
- */
-
-#ifndef OSSL_CRYPTO_EC_CURVE448_ARCH_64_F_IMPL_H
-#define OSSL_CRYPTO_EC_CURVE448_ARCH_64_F_IMPL_H
-
-#define GF_HEADROOM 9999 /* Everything is reduced anyway */
-#define FIELD_LITERAL(a, b, c, d, e, f, g, h) \
-    {                                         \
-        {                                     \
-            a, b, c, d, e, f, g, h            \
-        }                                     \
-    }
-
-#define LIMB_PLACE_VALUE(i) 56
-
-void gf_add_RAW(gf out, const gf a, const gf b)
-{
-    unsigned int i;
-
-    for (i = 0; i < NLIMBS; i++)
-        out->limb[i] = a->limb[i] + b->limb[i];
-
-    gf_weak_reduce(out);
-}
-
-void gf_sub_RAW(gf out, const gf a, const gf b)
-{
-    uint64_t co1 = ((1ULL << 56) - 1) * 2, co2 = co1 - 2;
-    unsigned int i;
-
-    for (i = 0; i < NLIMBS; i++)
-        out->limb[i] = a->limb[i] - b->limb[i] + ((i == NLIMBS / 2) ? co2 : co1);
-
-    gf_weak_reduce(out);
-}
-
-void gf_bias(gf a, int amt)
-{
-}
-
-void gf_weak_reduce(gf a)
-{
-    uint64_t mask = (1ULL << 56) - 1;
-    uint64_t tmp = a->limb[NLIMBS - 1] >> 56;
-    unsigned int i;
-
-    a->limb[NLIMBS / 2] += tmp;
-    for (i = NLIMBS - 1; i > 0; i--)
-        a->limb[i] = (a->limb[i] & mask) + (a->limb[i - 1] >> 56);
-    a->limb[0] = (a->limb[0] & mask) + tmp;
-}
-
-#endif /* OSSL_CRYPTO_EC_CURVE448_ARCH_64_F_IMPL_H */
diff --git a/crypto/ec/curve448/field.h b/crypto/ec/curve448/field.h
index d27904aa97..850244ee55 100644
--- a/crypto/ec/curve448/field.h
+++ b/crypto/ec/curve448/field.h
@@ -69,10 +69,101 @@ mask_t gf_deserialize(gf x, const uint8_t serial[SER_BYTES], int with_hibit,
 /* clang-format off */
 #define LIMBPERM(i) (i)
 #if (ARCH_WORD_BITS == 32)
-#include "arch_32/f_impl.inc" /* Bring in the inline implementations */
+#define GF_HEADROOM 2
+#define LIMB(x) ((x) & ((1 << 28) - 1)), ((x) >> 28)
+#define FIELD_LITERAL(a, b, c, d, e, f, g, h)                                      \
+    {                                                                              \
+        {                                                                          \
+            LIMB(a), LIMB(b), LIMB(c), LIMB(d), LIMB(e), LIMB(f), LIMB(g), LIMB(h) \
+        }                                                                          \
+    }
+
+#define LIMB_PLACE_VALUE(i) 28
+
+void gf_add_RAW(gf out, const gf a, const gf b)
+{
+    unsigned int i;
+
+    for (i = 0; i < NLIMBS; i++)
+        out->limb[i] = a->limb[i] + b->limb[i];
+}
+
+void gf_sub_RAW(gf out, const gf a, const gf b)
+{
+    unsigned int i;
+
+    for (i = 0; i < NLIMBS; i++)
+        out->limb[i] = a->limb[i] - b->limb[i];
+}
+
+void gf_bias(gf a, int amt)
+{
+    unsigned int i;
+    uint32_t co1 = ((1 << 28) - 1) * amt, co2 = co1 - amt;
+
+    for (i = 0; i < NLIMBS; i++)
+        a->limb[i] += (i == NLIMBS / 2) ? co2 : co1;
+}
+
+void gf_weak_reduce(gf a)
+{
+    uint32_t mask = (1 << 28) - 1;
+    uint32_t tmp = a->limb[NLIMBS - 1] >> 28;
+    unsigned int i;
+
+    a->limb[NLIMBS / 2] += tmp;
+    for (i = NLIMBS - 1; i > 0; i--)
+        a->limb[i] = (a->limb[i] & mask) + (a->limb[i - 1] >> 28);
+    a->limb[0] = (a->limb[0] & mask) + tmp;
+}
 #define LIMB_MASK(i) (((1) << LIMB_PLACE_VALUE(i)) - 1)
 #elif (ARCH_WORD_BITS == 64)
-#include "arch_64/f_impl.inc" /* Bring in the inline implementations */
+#define GF_HEADROOM 9999 /* Everything is reduced anyway */
+#define FIELD_LITERAL(a, b, c, d, e, f, g, h) \
+    {                                         \
+        {                                     \
+            a, b, c, d, e, f, g, h            \
+        }                                     \
+    }
+
+#define LIMB_PLACE_VALUE(i) 56
+
+void gf_add_RAW(gf out, const gf a, const gf b)
+{
+    unsigned int i;
+
+    for (i = 0; i < NLIMBS; i++)
+        out->limb[i] = a->limb[i] + b->limb[i];
+
+    gf_weak_reduce(out);
+}
+
+void gf_sub_RAW(gf out, const gf a, const gf b)
+{
+    uint64_t co1 = ((1ULL << 56) - 1) * 2, co2 = co1 - 2;
+    unsigned int i;
+
+    for (i = 0; i < NLIMBS; i++)
+        out->limb[i] = a->limb[i] - b->limb[i] + ((i == NLIMBS / 2) ? co2 : co1);
+
+    gf_weak_reduce(out);
+}
+
+void gf_bias(gf a, int amt)
+{
+}
+
+void gf_weak_reduce(gf a)
+{
+    uint64_t mask = (1ULL << 56) - 1;
+    uint64_t tmp = a->limb[NLIMBS - 1] >> 56;
+    unsigned int i;
+
+    a->limb[NLIMBS / 2] += tmp;
+    for (i = NLIMBS - 1; i > 0; i--)
+        a->limb[i] = (a->limb[i] & mask) + (a->limb[i - 1] >> 56);
+    a->limb[0] = (a->limb[0] & mask) + tmp;
+}
 #define LIMB_MASK(i) (((1ULL) << LIMB_PLACE_VALUE(i)) - 1)
 #endif
 /* clang-format on */