diff --git a/mypy/cache.py b/mypy/cache.py index 832cfb4732ea..f67bd627d3b8 100644 --- a/mypy/cache.py +++ b/mypy/cache.py @@ -1,7 +1,7 @@ """ This module contains high-level logic for fixed format serialization. -Lower-level parts are implemented in C in mypyc/lib-rt/librt_internal.c +Lower-level parts are implemented in C in mypyc/lib-rt/internal/librt_internal.c Short summary of low-level functionality: * integers are automatically serialized as 1, 2, or 4 bytes, or arbitrary length. * str/bytes are serialized as size (1, 2, or 4 bytes) followed by bytes buffer. diff --git a/mypyc/build.py b/mypyc/build.py index ef5d00fca145..08c08685ea1e 100644 --- a/mypyc/build.py +++ b/mypyc/build.py @@ -53,12 +53,12 @@ class ModDesc(NamedTuple): LIBRT_MODULES = [ - ModDesc("librt.internal", ["librt_internal.c"], [], []), - ModDesc("librt.strings", ["librt_strings.c"], [], []), + ModDesc("librt.internal", ["internal/librt_internal.c"], [], ["internal"]), + ModDesc("librt.strings", ["strings/librt_strings.c"], [], ["strings"]), ModDesc( "librt.base64", [ - "librt_base64.c", + "base64/librt_base64.c", "base64/lib.c", "base64/codec_choose.c", "base64/tables/tables.c", diff --git a/mypyc/codegen/emitmodule.py b/mypyc/codegen/emitmodule.py index a345753a74dd..d56dfd766e1c 100644 --- a/mypyc/codegen/emitmodule.py +++ b/mypyc/codegen/emitmodule.py @@ -625,11 +625,11 @@ def generate_c_for_modules(self) -> list[tuple[str, str]]: ext_declarations.emit_line("#include ") ext_declarations.emit_line("#include ") if self.compiler_options.depends_on_librt_internal: - ext_declarations.emit_line("#include ") + ext_declarations.emit_line("#include ") if any(LIBRT_BASE64 in mod.dependencies for mod in self.modules.values()): - ext_declarations.emit_line("#include ") + ext_declarations.emit_line("#include ") if any(LIBRT_STRINGS in mod.dependencies for mod in self.modules.values()): - ext_declarations.emit_line("#include ") + ext_declarations.emit_line("#include ") # Include headers for conditional source files source_deps = collect_source_dependencies(self.modules) for source_dep in sorted(source_deps, key=lambda d: d.path): diff --git a/mypyc/lib-rt/librt_base64.c b/mypyc/lib-rt/base64/librt_base64.c similarity index 100% rename from mypyc/lib-rt/librt_base64.c rename to mypyc/lib-rt/base64/librt_base64.c diff --git a/mypyc/lib-rt/librt_base64.h b/mypyc/lib-rt/base64/librt_base64.h similarity index 100% rename from mypyc/lib-rt/librt_base64.h rename to mypyc/lib-rt/base64/librt_base64.h diff --git a/mypyc/lib-rt/byteswriter_extra_ops.h b/mypyc/lib-rt/byteswriter_extra_ops.h index 59410a077fcd..27645052c782 100644 --- a/mypyc/lib-rt/byteswriter_extra_ops.h +++ b/mypyc/lib-rt/byteswriter_extra_ops.h @@ -6,7 +6,7 @@ #include #include -#include "librt_strings.h" +#include "strings/librt_strings.h" static inline CPyTagged CPyBytesWriter_Len(PyObject *obj) { diff --git a/mypyc/lib-rt/librt_internal.c b/mypyc/lib-rt/internal/librt_internal.c similarity index 100% rename from mypyc/lib-rt/librt_internal.c rename to mypyc/lib-rt/internal/librt_internal.c diff --git a/mypyc/lib-rt/librt_internal.h b/mypyc/lib-rt/internal/librt_internal.h similarity index 100% rename from mypyc/lib-rt/librt_internal.h rename to mypyc/lib-rt/internal/librt_internal.h diff --git a/mypyc/lib-rt/setup.py b/mypyc/lib-rt/setup.py index 964b56e4b562..a86e2367c1c0 100644 --- a/mypyc/lib-rt/setup.py +++ b/mypyc/lib-rt/setup.py @@ -89,33 +89,33 @@ def run(self) -> None: Extension( "librt.internal", [ - "librt_internal.c", + "internal/librt_internal.c", "init.c", "int_ops.c", "exc_ops.c", "pythonsupport.c", "getargsfast.c", ], - include_dirs=["."], + include_dirs=[".", "internal"], extra_compile_args=cflags, ), Extension( "librt.strings", [ - "librt_strings.c", + "strings/librt_strings.c", "init.c", "int_ops.c", "exc_ops.c", "pythonsupport.c", "getargsfast.c", ], - include_dirs=["."], + include_dirs=[".", "strings"], extra_compile_args=cflags, ), Extension( "librt.base64", [ - "librt_base64.c", + "base64/librt_base64.c", "base64/lib.c", "base64/codec_choose.c", "base64/tables/tables.c", diff --git a/mypyc/lib-rt/librt_strings.c b/mypyc/lib-rt/strings/librt_strings.c similarity index 100% rename from mypyc/lib-rt/librt_strings.c rename to mypyc/lib-rt/strings/librt_strings.c diff --git a/mypyc/lib-rt/librt_strings.h b/mypyc/lib-rt/strings/librt_strings.h similarity index 100% rename from mypyc/lib-rt/librt_strings.h rename to mypyc/lib-rt/strings/librt_strings.h diff --git a/mypyc/lib-rt/stringwriter_extra_ops.h b/mypyc/lib-rt/stringwriter_extra_ops.h index 646199c697f6..e15eb1dd2156 100644 --- a/mypyc/lib-rt/stringwriter_extra_ops.h +++ b/mypyc/lib-rt/stringwriter_extra_ops.h @@ -6,7 +6,7 @@ #include #include -#include "librt_strings.h" +#include "strings/librt_strings.h" static inline CPyTagged CPyStringWriter_Len(PyObject *obj) {