Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions mojo/mojo_library.bzl
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Compile Mojo files into a precompiled object (mojoc) that can be consumed by
other Mojo targets."""

load("@bazel_skylib//lib:paths.bzl", "paths")
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
load("//mojo:providers.bzl", "MojoInfo")
load("//mojo/private:utils.bzl", "MOJO_EXTENSIONS", "collect_mojoinfo", "format_import", "is_exec_config")
Expand All @@ -11,6 +12,10 @@ def _format_include(arg):
def _format_root(arg):
return arg.dirname

def _format_root_import(ctx):
package, import_path = ctx
return ["-I", paths.normalize(paths.join(package, import_path))]

def _mojo_library_implementation(ctx):
mojo_toolchain = ctx.toolchains["//:toolchain_type"].mojo_toolchain_info
build_env = getattr(ctx.toolchains["//:toolchain_type"], "build_env", {})
Expand All @@ -36,6 +41,8 @@ def _mojo_library_implementation(ctx):
for file in ctx.files.srcs:
if not file.dirname.startswith(root_directory):
args.add_all([file], map_each = _format_include)
if ctx.attr.import_path != ".":
args.add_all([(ctx.label.package, ctx.attr.import_path)], map_each = _format_root_import)

output_group_kwargs = {}
precompile_outputs = [mojo_precmp_file]
Expand Down
Loading