1
Fork 0

remove `.2.19` from toolchain params

Only the default toolchain can be exposed.
This commit is contained in:
Motiejus Jakštys 2021-06-10 13:02:35 +03:00 committed by Motiejus Jakštys
parent 1df5b4004d
commit 100c1e3727
5 changed files with 27 additions and 40 deletions

View File

@ -15,13 +15,13 @@ tasks:
//test:gognu //test:gognu
- test_linux-gnu: | - test_linux-gnu: |
cd bazel-zig-cc; ../bazel run \ cd bazel-zig-cc; ../bazel run \
--platforms @zig_sdk//:platform_x86_64-linux-gnu \ --platforms @zig_sdk//:x86_64-linux-gnu \
//test:gognu //test:gognu
- test_linux-musl: | - test_linux-musl: |
cd bazel-zig-cc; ../bazel run \ cd bazel-zig-cc; ../bazel run \
--platforms @zig_sdk//:platform_x86_64-linux-musl \ --platforms @zig_sdk//:x86_64-linux-musl \
//test:gomusl //test:gomusl
#- test_macos-gnu: | #- test_macos-gnu: |
# cd bazel-zig-cc; ../bazel build --toolchain_resolution_debug=true \ # cd bazel-zig-cc; ../bazel build --toolchain_resolution_debug=true \
# --platforms @zig_sdk//:platform_x86_64-macos-gnu \ # --platforms @zig_sdk//:x86_64-macos-gnu \
# //test:gognu # //test:gognu

View File

@ -35,13 +35,13 @@ $ file ../bazel-bin/test/gognu_/gognu
Explicitly the toolchain explicitly `-gnu`: Explicitly the toolchain explicitly `-gnu`:
``` ```
$ bazel run --platforms @zig_sdk//:platform_x86_64-linux-gnu //test:gognu $ bazel run --platforms @zig_sdk//:x86_64-linux-gnu //test:gognu
``` ```
## linux cgo + musl ## linux cgo + musl
``` ```
$ bazel build --platforms @zig_sdk//:platform_x86_64-linux-musl //test:gomusl $ bazel build --platforms @zig_sdk//:x86_64-linux-musl //test:gomusl
... ...
$ file ../bazel-out/k8-fastbuild-ST-d17813c235ce/bin/test/gomusl_/gomusl $ file ../bazel-out/k8-fastbuild-ST-d17813c235ce/bin/test/gomusl_/gomusl
../bazel-out/k8-fastbuild-ST-d17813c235ce/bin/test/gomusl_/gomusl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=redacted, with debug_info, not stripped ../bazel-out/k8-fastbuild-ST-d17813c235ce/bin/test/gomusl_/gomusl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=redacted, with debug_info, not stripped
@ -54,7 +54,7 @@ hello, world
Does not work? Does not work?
``` ```
$ bazel build --platforms @zig_sdk//:platform_x86_64-macos-musl //test:gognu $ bazel build --platforms @zig_sdk//:x86_64-macos-musl //test:gognu
... ...
``` ```

View File

@ -1,36 +1,10 @@
load("@zig-cc-bazel//toolchain:defs.bzl", "zig_build_macro") load("@zig-cc-bazel//toolchain:defs.bzl", "zig_build_macro")
package(default_visibility = ["//visibility:public"])
zig_build_macro(absolute_path={absolute_path}, zig_include_root={zig_include_root})
constraint_setting(name = "libc") package(
default_visibility = ["//visibility:public"]
constraint_value(
name = "musl",
constraint_setting = ":libc",
) )
zig_build_macro(
platform( absolute_path={absolute_path},
name = "platform_x86_64-macos-gnu", zig_include_root={zig_include_root},
constraint_values = [
"@platforms//os:macos",
"@platforms//cpu:x86_64",
],
)
platform(
name = "platform_x86_64-linux-gnu",
constraint_values = [
"@platforms//os:linux",
"@platforms//cpu:x86_64",
],
)
platform(
name = "platform_x86_64-linux-musl",
constraint_values = [
"@platforms//os:linux",
"@platforms//cpu:x86_64",
":musl",
],
) )

View File

@ -39,7 +39,8 @@ TARGET_CONFIGS = [
tool_paths={"ld": "ld64.lld"}, tool_paths={"ld": "ld64.lld"},
), ),
struct( struct(
target="x86_64-linux-gnu.2.19", target="x86_64-linux-gnu",
target_suffix = ".2.19",
includes=[ includes=[
"libunwind/include", "libunwind/include",
"libc/include/generic-glibc", "libc/include/generic-glibc",
@ -182,11 +183,21 @@ def zig_build_macro(absolute_path, zig_include_root):
filegroup(name="zig_compiler", srcs=["zig"]) filegroup(name="zig_compiler", srcs=["zig"])
filegroup(name="lib/std", srcs=native.glob(["lib/std/**"])) filegroup(name="lib/std", srcs=native.glob(["lib/std/**"]))
native.constraint_setting(name = "libc")
native.constraint_value(
name = "musl",
constraint_setting = ":libc",
)
lazy_filegroups = {} lazy_filegroups = {}
for target_config in TARGET_CONFIGS: for target_config in TARGET_CONFIGS:
target = target_config.target target = target_config.target
native.platform(name = target, constraint_values = target_config.constraint_values) native.platform(
name = target,
constraint_values = target_config.constraint_values,
)
all_srcs = [] all_srcs = []
ar_srcs = [":zig_compiler"] ar_srcs = [":zig_compiler"]
@ -219,6 +230,7 @@ def zig_build_macro(absolute_path, zig_include_root):
zig_cc_toolchain_config( zig_cc_toolchain_config(
name = target + "_cc_toolchain_config", name = target + "_cc_toolchain_config",
target = target, target = target,
target_suffix = getattr(target_config, 'target_suffix', ''),
tool_paths = absolute_tool_paths, tool_paths = absolute_tool_paths,
cxx_builtin_include_directories = cxx_builtin_include_directories, cxx_builtin_include_directories = cxx_builtin_include_directories,
copts = target_config.copts, copts = target_config.copts,

View File

@ -40,7 +40,7 @@ def _zig_cc_toolchain_config_impl(ctx):
"-I" + d "-I" + d
for d in ctx.attr.cxx_builtin_include_directories for d in ctx.attr.cxx_builtin_include_directories
] + [ ] + [
"-target", ctx.attr.target, "-target", ctx.attr.target + ctx.attr.target_suffix,
"-no-canonical-prefixes", "-no-canonical-prefixes",
"-Wno-builtin-macro-redefined", "-Wno-builtin-macro-redefined",
"-D__DATE__=\"redacted\"", "-D__DATE__=\"redacted\"",
@ -104,6 +104,7 @@ zig_cc_toolchain_config = rule(
"target_system_name": attr.string(), "target_system_name": attr.string(),
"target_cpu": attr.string(), "target_cpu": attr.string(),
"target_libc": attr.string(), "target_libc": attr.string(),
"target_suffix": attr.string(),
"compiler": attr.string(), "compiler": attr.string(),
"abi_version": attr.string(), "abi_version": attr.string(),
"abi_libc_version": attr.string(), "abi_libc_version": attr.string(),