Skip to content

Commit ea09f7b

Browse files
committed
Fix import paths
1 parent ef3cecd commit ea09f7b

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

‎mojo/mojo_library.bzl‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
"""Compile Mojo files into a precompiled object (mojoc) that can be consumed by
22
other Mojo targets."""
33

4+
load("@bazel_skylib//lib:paths.bzl", "paths")
45
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
56
load("//mojo:providers.bzl", "MojoInfo")
67
load("//mojo/private:utils.bzl", "MOJO_EXTENSIONS", "collect_mojoinfo", "format_import", "is_exec_config")
78

89
def _format_include(arg):
910
return ["-I", arg.dirname]
1011

12+
def _format_root_import(ctx):
13+
package, import_path = ctx
14+
return ["-I", paths.normalize(paths.join(package, import_path))]
15+
1116
def _mojo_library_implementation(ctx):
1217
mojo_toolchain = ctx.toolchains["//:toolchain_type"].mojo_toolchain_info
1318
build_env = getattr(ctx.toolchains["//:toolchain_type"], "build_env", {})
@@ -33,6 +38,8 @@ def _mojo_library_implementation(ctx):
3338
for file in ctx.files.srcs:
3439
if not file.dirname.startswith(root_directory):
3540
args.add_all([file], map_each = _format_include)
41+
if ctx.attr.import_path != ".":
42+
args.add_all([(ctx.label.package, ctx.attr.import_path)], map_each = _format_root_import)
3643

3744
output_group_kwargs = {}
3845
precompile_outputs = [mojo_precmp_file]

0 commit comments

Comments
 (0)