1
Commit Graph

155 Commits

Author SHA1 Message Date
Motiejus Jakštys
15f9578591 use a specific template if cache prefix is known 2022-08-26 10:55:29 +03:00
Ken Micklas
0612c6ed9c Support configuring cache prefix with an environment variable
The user may want to build with `--sandbox_tmpfs_path=/tmp`, in which
case the Zig cache will not be shared between sandboxes, massively
slowing down the build. With this feature, the user can pass flags
like `--repo_env=BAZEL_ZIG_CC_CACHE_PREFIX=$HOME/.cache/bazel-zig-cc`
together with `--sandbox_writable_path=$HOME/.cache/bazel-zig-cc` to
put the cache somewhere else which can be shared between sandboxes.
2022-08-26 10:47:25 +03:00
db7beefbe4 c++: fall back to cache dir in /tmp
rules_go is making calls that do `env - <...>` and are setting neither
TMPDIR nor HOME. So we should always fallback somewhere.
2022-08-12 09:25:37 +03:00
e50d1597f4 upgrade zig sdk to one of last night 2022-08-12 05:38:34 +03:00
Luis Holanda
c4125cf13b Support NixOS and others non-FHS Linux distros
As it expects Bash to be at `/bin/bash`, the current implementation
fails to execute on NixOS, given that there bash is in a non-standard
path (i.g. `/nix/store/<hash>-bash-interactive-<version>/bin/bash`).

This patch specifically changes `/bin/bash` paths to use `/usr/bin/env bash`,
which should give the correct path in every Unix system.

Signed-off-by: Luis Holanda <luiscmholanda@gmail.com>
2022-07-28 12:44:57 -07:00
df11a2af38 bump zig to 0.10.0-dev.2977+7d2e14267"
changes:
- upgrade from llvm 13 to llvm 14
- add --compress-debug-sections=zlib
2022-07-12 14:09:11 +03:00
0818e20167 bump zig upstream 2022-07-04 15:39:41 +03:00
b7da83e13e upgrade zig sdk
Also fix darwin zigtarget to none; see 5b813f1a2acdc1668e39008b02a234f3da724552 of zig
2022-06-28 12:47:23 +03:00
86ae317685 zig sdk: rename {ext} to {_ext}
Also update README and release scripts
2022-06-06 10:32:42 +03:00
Fabian Hahn
4a6eef7945 added Windows host support 2022-06-02 05:27:22 +03:00
Motiejus Jakštys
8fec0e3441 zig sdk: download from zig upstream as well as jakstys.lt
Now that the toolchain supports multiple mirrors, we can have more
robust defaults: try ziglang.org first, then dl.jakstys.lt when that one
removes the build we rely on.

This will make builds less prone to inevitable failures of my home
server.
2022-05-18 10:42:51 +03:00
Motiejus Jakštys
0044260206 upgrade zig to 0.10.0-dev.2252+a4369918b 2022-05-17 14:41:02 +03:00
Motiejus Jakštys
4fa5eff207 [linux-aarch64] fix top-level include path 2022-05-06 10:46:32 +03:00
Motiejus Jakštys
94d5864cb7 move --no-gc-sections hack to the toolchain definition
Thanks laurynasl for the tip.
2022-05-05 14:36:36 +03:00
Motiejus Jakštys
9ce21b5276 [zig ld] --gc-sections workaround + tests
`zig cc` emits `--gc-sections` for the linker, which is incompatbile
with what CGo thinks about linking.

This commit adds a workaround: it will add `--no-gc-sections` to the
linking step if the command is not specified (falling back to the
default behavior of gcc/clang).

Related: https://github.com/golang/go/issues/52690
2022-05-05 13:36:58 +03:00
laurynasl
4d65b80903 Add libc constraint and libc aware toolchains
- Also get rid of @bazel_skylib dependency
2022-04-14 14:29:06 +00:00
laurynasl
68b152067c Fix register toolchain 2022-04-09 00:09:04 +03:00
laurynasl
64be98b830 Hide toolchain internals 2022-04-07 11:23:40 +00:00
Motiejus Jakštys
6ded50ad67 buildifier 2022-04-07 13:21:44 +03:00
laurynasl
eedfc3312e Move toolchain definitions to toolchains/ 2022-04-07 12:43:34 +03:00
laurynasl
723e6f051d Move toolchainss under @zig_sdk//platform: 2022-04-07 12:43:34 +03:00
laurynasl
d1b0dddf8c Move declare_platforms() to platform/ 2022-04-07 12:43:34 +03:00
laurynasl
dd76e0b76f move platforms under @zig_cc//platform: 2022-04-07 12:43:34 +03:00
Ken Micklas
ccb68098e6 Use upstream read_user_netrc from Bazel 5.1 2022-03-26 15:56:11 +02:00
Ken Micklas
fc62c3a7b7 Remove repo fetch-time uname dependency, use new os.arch instead 2022-03-26 15:56:11 +02:00
Motiejus Jakštys
3492880151 bump to zig-0.10.0-dev.1393+291f5055f 2022-03-18 06:06:08 +01:00
Ken Micklas
9afcddea4f Support netrc for Zig SDK download 2022-03-18 06:04:49 +01:00
Motiejus Jakštys
2895f0c2bf replace url_format with url_formats 2022-03-18 05:44:22 +01:00
Ken Micklas
fb0cf50c44 2022-03-18 05:30:42 +01:00
Ken Micklas
fcb3d0432e Starlark's default argument semantics are pretty weird and likely not
what you would expect:
https://github.com/bazelbuild/starlark/blob/master/spec.md#functions

Additionally, this is just easier to read.
2022-03-18 05:30:38 +01:00
Ken Micklas
9ede1507c3 Fix and adjust darwin libc header paths depending on CPU 2022-02-11 06:29:46 +02:00
Ken Micklas
77688d0a45 Interpret arm64 output from uname as aarch64 on mac OS 2022-02-11 06:29:07 +02:00
Motiejus Jakštys
bcd9731f92 add @zig_sdk//:<os>_<arch>_platform values 2022-02-03 14:24:26 +02:00
Motiejus Jakštys
d27f6be570 upgrade to 0.10.0-dev.513+029844210 2022-02-02 14:59:34 +02:00
Motiejus Jakštys
faae381685 upgrade zig to 0.10.0-dev.430+35423b005 2022-01-27 10:52:25 +02:00
Motiejus Jakštys
2d32bfe884 upgrade zig to 0.10.0-dev.399+366c76744
Implements -whole-archive, -no-whole-archive, -s, -S in
50905d88518f92a9b8e492daf8dbb6d38b7c61bf
2022-01-26 05:41:21 +02:00
Motiejus Jakštys
78f3a59f0c [readme] less bragging about the home server 2022-01-25 11:19:52 +02:00
Motiejus Jakštys
c3655fbe65 brag about home server reliability 2022-01-25 11:12:18 +02:00
Motiejus Jakštys
23f81117ba Add description about mirrors 2022-01-25 11:05:35 +02:00
Piotr Sikora
230da38f54 Fix include paths when targeting non-x86_64 archs.
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2022-01-25 10:35:29 +02:00
Motiejus Jakštys
c3144b8b7b upgrade to zig 0.10.0-dev.283+ba0f72363
Thanks Xavier for https://github.com/ziglang/zig/pull/10587
2022-01-15 09:02:37 +02:00
Motiejus Jakštys
5c2d377eca bring back 0.9.0-dev.1968+ff93486d0
See https://github.com/ziglang/zig/issues/10386
2021-12-22 14:29:49 +02:00
Motiejus Jakštys
d1719dd5a5 upgrade zig to 0.9.0 2021-12-22 10:30:22 +02:00
Motiejus Jakštys
b1c645b162 zig-0.9.0-dev.1968: upgrade checksums 2021-12-15 13:30:57 +02:00
Motiejus Jakštys
3ce88db8ab upgrade zig to 0.9.0-dev.1968+ff93486d0 2021-12-15 13:26:22 +02:00
Motiejus Jakštys
985e26b474 remove DEFAULT_COPTS
Optimizations should be turned by the user with `-c opt`. We want UBSAN
enabled for non-release builds.
2021-12-13 03:29:10 +02:00
Motiejus Jakštys
66dbf420f7 bump zig to 0.9.0-dev.1950+a76910b69; remove -O3 2021-12-13 03:20:02 +02:00
Motiejus Jakštys
f5b7163eb1 upgrade zig 2021-12-09 10:22:26 +02:00
Motiejus Jakštys
ce6075b19b upgrade to 0.9.0-dev.1920+de81c504b 2021-12-07 17:27:55 +02:00
Motiejus Jakštys
2ee3c32780 fix darwin include targets; target macos 10 2021-12-07 12:46:52 +02:00
Motiejus Jakštys
780eaff263 add missing include of x86-linux-any
Was added as part of https://github.com/ziglang/zig/issues/9837
2021-12-07 11:53:00 +02:00
Motiejus Jakštys
4fe2552ab1 upgrade zig to 0.9.0-dev.1914+7d1f47313 2021-12-07 09:51:14 +02:00
Motiejus Jakštys
8f5f249227 allow extra versions and url formats
url_format is subject to change, because it should accept multiple
inputs.
2021-12-06 08:07:28 +02:00
Motiejus Jakštys
b1a2efb85f remove flock workaround
- Task #9431 (#9439) is in progress.
- The issue sometimes happened on Linux.

Therefore, remove the flock workaround.
2021-12-06 07:53:22 +02:00
Motiejus Jakštys
34b85cf57f buildifier 2021-11-05 19:47:52 +02:00
Motiejus Jakštys
f6016ab830 upgrade zig to 0.9.0-dev.1414+cde3dd365 2021-10-20 07:54:01 +03:00
Motiejus Jakštys
b0e83bcecc remove typo from URL 2021-10-18 10:29:00 +03:00
Motiejus Jakštys
cea7c38560 use zig from dl.jakstys.lt
if anyone has an archive for any other arch, I'll take it.
2021-10-18 10:26:33 +03:00
Motiejus Jakštys
feb9291d30 bring back 0.9.0-dev.727+aad459836
the newer version fails for darwin-amd64 target.
2021-09-14 14:34:39 +03:00
Motiejus Jakštys
b6c6c705b8 switch back to dev version
0.8.1 are cherry picks, turns out.
2021-09-13 09:11:35 +03:00
Motiejus Jakštys
d8fd27c3ae upgrade zig, add aarch64
- upgrade zig to 0.8.1
- add preliminary aarch64 support. I don't have an aarch64 machine to
  test this with, so landing as-is. However, this will be used as an
  upstream repository, so hopefully the issues, if any, will flow in.
2021-09-13 08:44:58 +03:00
Motiejus Jakštys
3e7f92cea5 unregister default toolchains; update README 2021-08-11 09:37:54 +03:00
Motiejus Jakštys
741289bddd fix allowed toolchains 2021-08-06 12:19:11 +03:00
Motiejus Jakštys
76774cd384 fix tmpdir 2021-08-06 11:32:21 +03:00
Motiejus Jakštys
11f919ea6f fix flock 2021-08-06 11:23:39 +03:00
Motiejus Jakštys
5f5b25d34b use newer arm64 glibc explicitly 2021-08-06 09:49:52 +03:00
Motiejus Jakštys
50c5e58dcd better fcntl64 hack
this file may be included from the assembler; assembler does not
understand the `__asm__` directive.
2021-08-06 09:43:18 +03:00
Motiejus Jakštys
e262e3acc5 specify absolute path to glibchack-fcntl.h 2021-08-06 08:44:56 +03:00
Motiejus Jakštys
7b0c37aacd add DEFAULT_COPTS 2021-08-05 15:21:38 +03:00
Motiejus Jakštys
bf84ec2090 more aggressive toolchain resolution:
- hardcode gnu.2.19 instead of autodetect
- more tests.
2021-08-05 11:49:17 +03:00
Motiejus Jakštys
005f87a26d more robust toolchain selection 2021-08-05 09:47:34 +03:00
Motiejus Jakštys
4d44d9ffd4 speed first safety later 2021-08-04 19:46:21 +03:00
Motiejus Jakštys
144a87cd4c flock zig toolchain
slower, but more robust.
2021-08-04 15:16:18 +03:00
Motiejus Jakštys
13cba6c244 rework toolchain registration
- support specifying the glibc version.
- support picking the default of musl or glibc.
- create both zig and go conventions for `--extra_toolchains`.
2021-08-04 15:04:14 +03:00
Motiejus Jakštys
6687f16a49 update zig 2021-08-04 13:17:55 +03:00
Motiejus Jakštys
fc7335054e disable tests on linux arm64 2021-07-29 00:10:58 +03:00
Motiejus Jakštys
5bf03915be implement fcntl64 hack
glibc overrides fcntl with a macro to fcntl64; implement some trickery
to bring back fcntl on older toolchain.
2021-07-28 23:44:06 +03:00
Motiejus Jakštys
14cb54fbd4 remove obsolete tool_srcs 2021-07-28 19:15:06 +03:00
Motiejus Jakštys
44da7f7f46 remove obsolete comments and code 2021-07-28 19:13:40 +03:00
Motiejus Jakštys
ebfabb6d0f use 2.19 again; 2.28 doesn't help 2021-07-21 17:07:14 +03:00
Motiejus Jakštys
a71f17adf8 use glibc 2.28 2021-07-21 16:24:31 +03:00
Motiejus Jakštys
cb10c591be rename zig toolchain to match go 2021-07-21 14:53:39 +03:00
Motiejus Jakštys
d78d78393b separate zigtarget and gotarget 2021-07-21 14:42:55 +03:00
Motiejus Jakštys
1fa90818cb quote strings properly 2021-07-12 09:45:23 +03:00
Motiejus Jakštys
d67a5e8514 update zig
should stop hanging
2021-07-02 12:32:50 +03:00
Motiejus Jakštys
82053e2127 expose zig compiler 2021-06-28 13:57:47 +03:00
Motiejus Jakštys
be168480a7 downgrade bazel to 3.7.0
that's our target for now.
2021-06-28 12:52:20 +03:00
221b76a84a shorter tool_srcs 2021-06-20 15:15:21 +03:00
ed2bc345be remove unused filegroups 2021-06-20 15:12:48 +03:00
a3606b7404 register only gnu toolchain by default
musl can be specified with --extra_toolchains.
2021-06-19 16:32:07 +03:00
ae166ad995 bump zig version 2021-06-18 08:19:28 +03:00
39535dadc5 add macos support
+ buildifier
2021-06-16 12:44:16 +03:00
58a04fbfec bump zig
Thanks to https://github.com/ziglang/zig/issues/9050
2021-06-15 09:10:15 +03:00
61491dac5e rename libc name; comment out default toolchain 2021-06-10 16:12:50 +03:00
648aeec08b Bring back explicit glibc platform 2021-06-10 16:07:48 +03:00
31316fd30c add aarch64 2021-06-10 13:34:58 +03:00
dbff5afa75 buildifier 2021-06-10 13:12:54 +03:00
100c1e3727 remove .2.19 from toolchain params
Only the default toolchain can be exposed.
2021-06-10 13:02:35 +03:00
1df5b4004d move BUILD template to a file 2021-06-10 09:42:26 +03:00
4bd7b30f65 change @com_github_ziglang_zig to @zig_sdk 2021-06-10 09:34:59 +03:00