diff --git a/mypy/typeshed/stubs/librt/librt/time.pyi b/mypy/typeshed/stubs/librt/librt/time.pyi new file mode 100644 index 0000000000000..f0bb23fff8d00 --- /dev/null +++ b/mypy/typeshed/stubs/librt/librt/time.pyi @@ -0,0 +1 @@ +def time() -> float: ... diff --git a/mypyc/build.py b/mypyc/build.py index 026db45471086..fae2c72ba4e59 100644 --- a/mypyc/build.py +++ b/mypyc/build.py @@ -120,6 +120,7 @@ class ModDesc(NamedTuple): ["vecs/librt_vecs.h", "vecs/vec_template.c"], ["vecs"], ), + ModDesc("librt.time", ["time/librt_time.c"], ["time/librt_time.h"], []), ] try: diff --git a/mypyc/codegen/emitmodule.py b/mypyc/codegen/emitmodule.py index 2b0693ea2f2dd..da82f14e92f2e 100644 --- a/mypyc/codegen/emitmodule.py +++ b/mypyc/codegen/emitmodule.py @@ -56,7 +56,7 @@ short_id_from_name, ) from mypyc.errors import Errors -from mypyc.ir.deps import LIBRT_BASE64, LIBRT_STRINGS, SourceDep +from mypyc.ir.deps import LIBRT_BASE64, LIBRT_STRINGS, LIBRT_TIME, SourceDep from mypyc.ir.func_ir import FuncIR from mypyc.ir.module_ir import ModuleIR, ModuleIRs, deserialize_modules from mypyc.ir.ops import DeserMaps, LoadLiteral @@ -632,6 +632,8 @@ def generate_c_for_modules(self) -> list[tuple[str, str]]: ext_declarations.emit_line("#include ") if any(LIBRT_STRINGS in mod.dependencies for mod in self.modules.values()): ext_declarations.emit_line("#include ") + if any(LIBRT_TIME in mod.dependencies for mod in self.modules.values()): + ext_declarations.emit_line("#include