1
Fork 0
hermetic_cc_toolchain/mailing-list-archive.mbox

16594 lines
745 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=uber.com header.i=@uber.com
Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48])
by mail-b.sr.ht (Postfix) with ESMTPS id DDF2111EEC2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 6 Sep 2021 05:14:56 +0000 (UTC)
Received: by mail-ed1-f48.google.com with SMTP id u19so7815945edb.3
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 05 Sep 2021 22:14:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=uber.com; s=google;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=7Ep7iTYyg1DX8Hx9AdVtBxHJWPcMfNRMH8EVv7gJalA=;
b=0T3cef8TsPS2gcoAtVKBRrHY8D9aD8FJvFDsizN3PMB0F8l32dLdRv8+TvHspaJs5l
lJdSEzmJ6Hkn1T3DPxjr7qvm9s4+ThTSRkEwFtWerRuftLWxMlUml73Cs0fIhN7FohhH
LNbRleFGhs9sM2EueHyR7e7sc1qdxDd+644IQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=7Ep7iTYyg1DX8Hx9AdVtBxHJWPcMfNRMH8EVv7gJalA=;
b=Nig0qyUf+TPvScOEAThWQagGYc0pZQnLXdiWR41czq9ODyMBe8281D+altQ/+U7QbU
6x+GKNecxPw/rLFsxDQ+FILzF4tRaV/oQ4nVBsq0ssVb1P4fY5IWlXSn2Rq3tZwSTKtP
Ax2Qz8BX72ywIcQo1ZM2JLhQF6UjvkbGBO0QyXiJT416xQLSjGQUB8arl+Q0fKNFcIJ9
UqwF8qkIyeMfjiL0faClIsNnXJhfa5qEyS6HwFDOdK7f344ExdzDmZNOxWnmhtZCIvpl
AU1dQ6HHK1qKY+VEbkvoq6w05PYihxHk7szMaahtw3USzpe6cF9YepAOxqZNyzM2NWWp
GUFg==
X-Gm-Message-State: AOAM530RHZDN0bVwF4byjoCILBF7XpLVHfGKWcrFVgSdkYjbhCtTeR6T
GY+hwcM4PIIVUci3xE6TPMfllXXNuws916eSE25Cew==
X-Google-Smtp-Source: ABdhPJx06von7JT53TGVZFlki01ijRhmL1GfVC0Mnhpi5vWifJyzoQeSjcDPzMuM5EjLg2LfBIJutd4b5I55Ak3kpsk=
X-Received: by 2002:a05:6402:6cf:: with SMTP id n15mr11581412edy.85.1630905295539;
Sun, 05 Sep 2021 22:14:55 -0700 (PDT)
MIME-Version: 1.0
References: <CAMEgGpyFHe3f=VZgFEDMivQ_rGCmHngBPH5MAC2Va5NvJmRo5g@mail.gmail.com>
<CAK+t98XUb0EmzKu-zOPpZxQM_jcWS=K3AJUuz9tB93COdtJqFw@mail.gmail.com>
<CAEZVCP5BMvXc2W5L0_fYGws8A_GgXwZ4mgtduS3qBzNP97nqSw@mail.gmail.com>
<CAK+t98UYm5FhQFit4vix_RTUzXBfeH+CGVM8-1vQFHtYfLcgXw@mail.gmail.com> <CANeNeVSkKdpeN8BnXciTXBQQhoLFLGKCAKNXCRYyh8ymppdkfg@mail.gmail.com>
In-Reply-To: <CANeNeVSkKdpeN8BnXciTXBQQhoLFLGKCAKNXCRYyh8ymppdkfg@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@uber.com>
Date: Mon, 6 Sep 2021 08:14:46 +0300
Message-ID: <CAK+t98X2fo+_f+W1o8hzYX_CXmHVPMNfBN2CoM+soRGgMELOQQ@mail.gmail.com>
Subject: Re: Cross-compilation with zig
To: Adam Bouhenguel <adam@bouhenguel.com>, ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Steeve Morin <steeve.morin@gmail.com>, Zhongpeng Lin <zplin@uber.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
+ ~motiejus/bazel-zig-cc@lists.sr.ht (please subscribe[0]). Also
switching from top-down to bottom-up posting.
On Sun, Sep 5, 2021 at 10:14 PM Adam Bouhenguel <adam@bouhenguel.com> wrote=
:
>
> Thanks for adding me to the thread, Motiejus.
>
> Steeve, I'm very curious to hear how your investigation goes. Please keep=
me posted!
>
> I've been bitten a few times now by regressions in zig cc. Both 0.7.1 and=
0.9-dev have problems with C++ exceptions and break runtime behavior of th=
ird party libraries I'm using.
Zig 0.7.1 to zig 0.9-dev moved from clang-11 to clang-12, so, from the
surface, I would attribute behavior changes to this. Did you narrow
this down to something specific?
> Seems like the ability to build a set of specific projects in bazel (with=
a hermetic zig cc based toolchain) might be helpful for keeping everyone o=
n the same page.
Have you noticed regressions with `zig cc` when upgrading zig? Since
it is covered by "bug stability program[1]", I expect zig upstream to
be quite responsive with regressions there. If C++ behavior changes,
it's probably a fault of a new clang, which should be reported to
Apple (likely with help of zig developers, since they have done this
many times).
> To this end, what do you folks think about having a small suite of accept=
ance tests for the toolchain?
We already have //test:hello[2]. Feel free to add yours.
> As a bonus we might be able to use qemu to ensure that the cross-compiled=
artifacts actually work.
I am looking for multi-arch build support in sr.ht, which is "not yet
available"[3], which would be ideal.
Currently I am cross-compiling to a few architectures and checking
whether the resulting "file" command returns an expected string. I
agree qemu-system-<arch> is a good next step. What are your
architectures of interest?
Motiejus
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc
[1]: https://ziglang.org/download/0.8.0/release-notes.html#zig-cc
[2]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/main/item/test/BUILD
[3]: https://man.sr.ht/builds.sr.ht/compatibility.md
[4]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/main/item/.build.yml
> Cheers,
> Adam
>
> On Thu, Sep 2, 2021, 06:31 Motiejus Jak=C5=A1tys <motiejus@uber.com> wrot=
e:
>>
>> Let me know how it goes. I set up a mailing list on srht for patches, if=
any.
>>
>> On Thu, Sep 2, 2021, 15:42 Steeve Morin <steeve.morin@gmail.com> wrote:
>>>
>>> Hey Motiejus,
>>>
>>> Thank for working on that!
>>> I'll see if I can hack on it one weekend. What I'd like though is have =
the `zig cc` toolchain have the same level of features as the "host" toolch=
ain.
>>> And it feels to me that doing the toolchain.bzl file by hand isn't the =
right way to do it. I'm still looking into how bazel generates it and see i=
f we can let it do it.
>>>
>>> Steeve
>>>
>>>
>>> On Wed, 1 Sept 2021 at 21:03, Motiejus Jak=C5=A1tys <motiejus@uber.com>=
wrote:
>>>>
>>>> Zhongpeng, thank you for bringing the group together. +Adam, who creat=
ed the initial toolchain (mine is a fork of Adam's initial hard work), and =
he has obvious interest in the toolchain too.
>>>>
>>>> Steeve, my zig-cc toolchain is hosted here. I am obviously interested =
in solving all the outlined issues, and rules_go#2894 is one of them. I am =
currently very limited in capacity myself, but happy to merge improvements,=
either the mentioned issues or anything else you find reasonably necessary=
for usage of the toolchain.
>>>>
>>>> Motiejus
>>>>
>>>> On Wed, Sep 1, 2021 at 9:17 PM Zhongpeng Lin <zplin@uber.com> wrote:
>>>>>
>>>>> Hello Motiejus,
>>>>>
>>>>> In today's Bazel-Go maintainers meeting, Steeve (cc'ed) mentioned tha=
t he wanted to work on zig-based toolchain for rules_go. Steeve is also an =
expert in cgo support in rules_go. Checking the last email you sent, it see=
ms you've made good progress on that. Do you still need help on rules_go#28=
94? Steeve is probably the most knowledgeable person for you to talk to if =
you need.
>>>>>
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=uber.com header.i=@uber.com
Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176])
by mail-b.sr.ht (Postfix) with ESMTPS id 7F60211F01D
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 14 Sep 2021 12:18:17 +0000 (UTC)
Received: by mail-pf1-f176.google.com with SMTP id 18so11985902pfh.9
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 14 Sep 2021 05:18:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=uber.com; s=google;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc;
bh=OrT2HLfEH5T84qiDOOT1fkL1jScAGScbvztl9Bh21pc=;
b=90ZPl0uDFnNAu2aY6Ya/MrR2y70iL0LQKpEOGY09XP+7MwX7/86CY6t52iN6YXoH2z
NyujV8NNjIvkDfTt9lTbuTlXfH6zw/zWuXooDeKhJ5F8EV51HksugrDVwRL7pnv8H7ir
a69BVlE46C9ZTXFo+uPGKG0LzUu/FB9bCESWQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=OrT2HLfEH5T84qiDOOT1fkL1jScAGScbvztl9Bh21pc=;
b=Ce65X6V72tRXX3lsb+mUwj1Tl/p6n/UYy3NIcFZ4HyhO7r02nN9WV8dFapeKhWHcHq
aQUqblPaAUew8VnVJ76tt5ycFfyt0r+2uyq50xnoV6K6/1T3bvxJ6/KzUG2eEV/O7hVB
xkMaYXWM4X1d62n18Z0IYGwfH8oNvgS+gNjuaoPipRxDKW5oJ7/hNpWYNK3Bdg1klq0j
JcDZWDVt6Icz2V7bI/Hg5rm4jWjJT2UVhO2dU/ORhTei5G4x4bEB5K2vnBNnewmIZkla
aruAAoUK6ES8wGwDVEs4dkjrtcF4iG+Y+6VdNs7S4c/IK5YPqP3ZWnjiS9SYof/fx3hp
MjNg==
X-Gm-Message-State: AOAM530UpTvU3UcNBbcQR2g9AazB7DLWy/Efj1NzsIcbZOWRJyxpGydG
Oc79jHwoMosaawx9gQ4QRMbjlwM9ThZOelu/hmh05g==
X-Google-Smtp-Source: ABdhPJwrF4zc8+XPliKolcZkIgfEaf2EZWHhN4u3jxGdRRd12ErlTeUw0hq/4vbWlDizwNXDf/l1lw58uq4TfJsojxQ=
X-Received: by 2002:a62:8c08:0:b0:434:652b:1319 with SMTP id
m8-20020a628c08000000b00434652b1319mr4534198pfd.24.1631621895297; Tue, 14 Sep
2021 05:18:15 -0700 (PDT)
MIME-Version: 1.0
References: <CAMEgGpyFHe3f=VZgFEDMivQ_rGCmHngBPH5MAC2Va5NvJmRo5g@mail.gmail.com>
<CAK+t98XUb0EmzKu-zOPpZxQM_jcWS=K3AJUuz9tB93COdtJqFw@mail.gmail.com>
<CAEZVCP5BMvXc2W5L0_fYGws8A_GgXwZ4mgtduS3qBzNP97nqSw@mail.gmail.com>
<CAK+t98UYm5FhQFit4vix_RTUzXBfeH+CGVM8-1vQFHtYfLcgXw@mail.gmail.com>
<CANeNeVSkKdpeN8BnXciTXBQQhoLFLGKCAKNXCRYyh8ymppdkfg@mail.gmail.com>
<CAK+t98X2fo+_f+W1o8hzYX_CXmHVPMNfBN2CoM+soRGgMELOQQ@mail.gmail.com>
<CANeNeVTjtYd8vVzgprM7-LMBS67kugn_rvsocrP80W+rwvsUjQ@mail.gmail.com> <CAEZVCP4=r79nLRghL03Hi7CfKFjF2u3sL97hba9PHQzh7ZhFyg@mail.gmail.com>
In-Reply-To: <CAEZVCP4=r79nLRghL03Hi7CfKFjF2u3sL97hba9PHQzh7ZhFyg@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@uber.com>
Date: Tue, 14 Sep 2021 15:18:04 +0300
Message-ID: <CAK+t98Ww6cWU+MRtaPQ=_WVe_mwYmf0h9HHj_O0D-yuXyvoS3A@mail.gmail.com>
Subject: Re: Cross-compilation with zig
To: Steeve Morin <steeve.morin@gmail.com>
Cc: Adam Bouhenguel <adam@bouhenguel.com>, ~motiejus/bazel-zig-cc@lists.sr.ht,
Zhongpeng Lin <zplin@uber.com>
Content-Type: text/plain; charset="UTF-8"
On Tue, Sep 14, 2021 at 2:21 AM Steeve Morin <steeve.morin@gmail.com> wrote:
>
> Alright you guys, I found a way to use bazel's auto toolchain configuration with zig!
> It's rather archaic for now, but it works, I got protoc compiled and running for both macos and linux.
>
> Still needs some love, I'll post updates in the next few days.
Looking forward to anything that will simplify it's setup/boilerplate.
> The main idea is to give to @bazel_tools//tools/cpp:unix_cc_configure.bzl configure_unix_toolchain() what it want, and that's it!
Interesting!
I have slightly updated the toolchain today:
- added support for darwin-arm64 and linux-arm64 host (though don't
have an arm64 machine to test this with).
- tried to upgrade zig itself, but cross-compilation to darwin-amd64
fails with it; there seems to be a regression somewhere. I will look
into it sometime soon.
... so please rebase before sending patches.
Regards,
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45])
by mail-b.sr.ht (Postfix) with ESMTPS id 7AA8311EF38
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 29 Oct 2021 04:45:34 +0000 (UTC)
Received: by mail-lf1-f45.google.com with SMTP id p16so18563959lfa.2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 28 Oct 2021 21:45:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:content-transfer-encoding:in-reply-to;
bh=e1CN1JJJM9joKaUlYnsska9HvRy43YfFeSGJYgiQjQs=;
b=N7pGbkjAvxhSXwB+tTVrJHBV8BHUuBWcqQlTvb/BtI/Jc5fNEvIj/GA7D/AxiqmIR1
27T8aTQ1DlzX+OQOW406lwGXbvZZL3V0ehPNMd7iusogsbnKu2EHBr+ThWpVtedV7vPU
/9iK0Z4ZmfsEN7uJIfRUN7dG+A2YhndnNXTgPJ25NCCICu4PpIOqbgYjywgE1GiC0Hay
YZymEWSaVLn7vKlbEkbxhKZ+UztEBLATrHZRKj5RfKyaqp2tlWgH+0o3I/gLxrtZVcX+
TKhoRqrxjGjYZrkdYwrVpHQ3k2w9/PTe7fRODmp9cYS9PRwEQC30OFWWz3eXgps+DMc8
LPbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition
:content-transfer-encoding:in-reply-to;
bh=e1CN1JJJM9joKaUlYnsska9HvRy43YfFeSGJYgiQjQs=;
b=r89AESahTPDW+InsPvQBy5oShDlHrIWGg57AY8KjJBEXQgzGmw3EvmJjiLcsgSl+Wb
8zqr7NZ1dMcpon8GeT6jHeCKGHshHUqTFd6g52JIBGF/zUCVb56UUBDR3ioI7bGrPQxB
vPys0M00zxd8XxmgXoNXGlzsrPQb5Ey6G4c8LoGfByNU1MGq4QOeJalsLpZlqBRufnC8
KGaMUySwLmdUEJkvr6cwUVU0aH/NFH/a3SNJjqbErS7+BsG8L8c2mHfgXHRK5gKDSSW5
OeZFJhvSyckmkmydjakuc2ujue4AmXI0zHOqHG6x4BmRn9zLXGsubF3PTdnznc0FpSve
3QLw==
X-Gm-Message-State: AOAM530q79ok7W8D4VaBKIDpBl3HwOetwH0gt33opT4qmBP6+foicf1Z
2uv9qkI/iyrmnil6tOaY/QE=
X-Google-Smtp-Source: ABdhPJyuFdbOG4l8g9NVpT78xmShrZBBHNU8pGNzJkGl1MbHL1FDvr/UfAiOZ67yA0UmaKYiXhMxsQ==
X-Received: by 2002:a05:6512:33c2:: with SMTP id d2mr7692886lfg.182.1635482732884;
Thu, 28 Oct 2021 21:45:32 -0700 (PDT)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id e22sm493971lfr.237.2021.10.28.21.45.31
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 28 Oct 2021 21:45:32 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Fri, 29 Oct 2021 07:45:31 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@uber.com>
Cc: Steeve Morin <steeve.morin@gmail.com>,
Adam Bouhenguel <adam@bouhenguel.com>,
~motiejus/bazel-zig-cc@lists.sr.ht, Zhongpeng Lin <zplin@uber.com>
Subject: Re: Cross-compilation with zig
Message-ID: <20211029044531.vvtv7btw2ur7u6zc@mtpad.i.jakstys.lt>
References: <CAMEgGpyFHe3f=VZgFEDMivQ_rGCmHngBPH5MAC2Va5NvJmRo5g@mail.gmail.com>
<CAK+t98XUb0EmzKu-zOPpZxQM_jcWS=K3AJUuz9tB93COdtJqFw@mail.gmail.com>
<CAEZVCP5BMvXc2W5L0_fYGws8A_GgXwZ4mgtduS3qBzNP97nqSw@mail.gmail.com>
<CAK+t98UYm5FhQFit4vix_RTUzXBfeH+CGVM8-1vQFHtYfLcgXw@mail.gmail.com>
<CANeNeVSkKdpeN8BnXciTXBQQhoLFLGKCAKNXCRYyh8ymppdkfg@mail.gmail.com>
<CAK+t98X2fo+_f+W1o8hzYX_CXmHVPMNfBN2CoM+soRGgMELOQQ@mail.gmail.com>
<CANeNeVTjtYd8vVzgprM7-LMBS67kugn_rvsocrP80W+rwvsUjQ@mail.gmail.com>
<CAEZVCP4=r79nLRghL03Hi7CfKFjF2u3sL97hba9PHQzh7ZhFyg@mail.gmail.com>
<CAK+t98Ww6cWU+MRtaPQ=_WVe_mwYmf0h9HHj_O0D-yuXyvoS3A@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAK+t98Ww6cWU+MRtaPQ=_WVe_mwYmf0h9HHj_O0D-yuXyvoS3A@mail.gmail.com>
On Tue, Sep 14, 2021 at 03:18:04PM +0300, Motiejus Jakštys wrote:
> On Tue, Sep 14, 2021 at 2:21 AM Steeve Morin <steeve.morin@gmail.com> wrote:
> >
> > Alright you guys, I found a way to use bazel's auto toolchain configuration with zig!
> > It's rather archaic for now, but it works, I got protoc compiled and running for both macos and linux.
> >
> > Still needs some love, I'll post updates in the next few days.
>
> Looking forward to anything that will simplify it's setup/boilerplate.
Hi all,
the way plans are panning out now, at some point in 2022H1 bazel-zig-cc
will be scrutinized by much more competent colleagues than myself,
before being moved to github.com/uber (or equivalent). After that major
changes will be much harder to make.
Steeve, if you are still considering on major changes in bazel-zig-cc,
this year is better than next year.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 57B3B11EF37
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 5 Nov 2021 13:23:34 +0000 (UTC)
From: ~mjonaitis <mjonaitis@git.sr.ht>
Date: Thu, 04 Nov 2021 18:54:42 +0200
Subject: [PATCH bazel-zig-cc] add go_binary override
Message-ID: <163611861421.17091.108675275474200386-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~mjonaitis <mjonaitis@uber.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Mantas Jonaitis <mjonaitis@uber.com>
---
BUILD | 2 ++
README.md | 7 +++++++
rules/BUILD | 0
rules/go_binary_override.bzl | 27 +++++++++++++++++++++++++++
test/BUILD | 15 ++++-----------
5 files changed, 40 insertions(+), 11 deletions(-)
create mode 100644 rules/BUILD
create mode 100644 rules/go_binary_override.bzl
diff --git a/BUILD b/BUILD
index 07e6a04..a34acae 100644
--- a/BUILD
+++ b/BUILD
@@ -1,6 +1,8 @@
load("@bazel_gazelle//:def.bzl", "gazelle")
load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier")
=20
+# gazelle:map_kind go_binary go_binary //rules:go_binary_override.bzl
+
# gazelle:build_file_name BUILD
# gazelle:prefix github.com/motiejus/bazel-zig-cc
gazelle(name =3D "gazelle")
diff --git a/README.md b/README.md
index 8ae3935..7c83752 100644
--- a/README.md
+++ b/README.md
@@ -116,6 +116,13 @@ go_binary(
)
```
=20
+A workaround with [gazelle](https://github.com/bazelbuild/bazel-gazelle) `ma=
p_kind` directive is possible. This will override rules_go `go_binary` rule w=
ith `go_binary` which contains default `gc_linkopts` parameters. Add this lin=
e to your BUILD files (usually adding to root BUILD file will suffice) and ru=
n `gazelle` to automatically generate `load` statements.
+
+```
+# gazelle:map_kind go_binary go_binary @bazel-zig-cc//rules:go_binary_overri=
de.bzl
+```
+
+
## incorrect glibc version autodetection
=20
**Severity: Low**
diff --git a/rules/BUILD b/rules/BUILD
new file mode 100644
index 0000000..e69de29
diff --git a/rules/go_binary_override.bzl b/rules/go_binary_override.bzl
new file mode 100644
index 0000000..6ac14cf
--- /dev/null
+++ b/rules/go_binary_override.bzl
@@ -0,0 +1,27 @@
+load("@io_bazel_rules_go//go:def.bzl", go_binary_rule =3D "go_binary")
+
+"""
+go_binary overrides go_binary from rules_go and provides default
+gc_linkopts values that are needed to compile for macos target.
+To use it, add this map_kind gazelle directive to your BUILD.bazel files
+where target binary needs to be compiled with zig toolchain.
+
+Example: if this toolchain is registered as bazel-zig-cc in your WORKSPACE, =
add this to
+your root BUILD file
+# gazelle:map_kind go_binary go_binary @bazel-zig-cc//rules:go_binary_overri=
de.bzl
+"""
+def go_binary(**args):
+ new_args =3D {}
+ new_args["gc_linkopts"] =3D select({
+ "@platforms//os:macos": [
+ "-s",
+ "-w",
+ "-buildmode=3Dpie",
+ ],
+ "//conditions:default": [],
+ })
+ for k, v in args.items():
+ new_args[k] =3D v
+ print("Key: {}".format(k))
+ go_binary_rule(**new_args)
+
diff --git a/test/BUILD b/test/BUILD
index 133fe5a..415b9c2 100644
--- a/test/BUILD
+++ b/test/BUILD
@@ -1,4 +1,5 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+load("//rules:go_binary_override.bzl", "go_binary")
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
=20
go_library(
name =3D "hello_lib",
@@ -7,22 +8,14 @@ go_library(
importpath =3D "github.com/motiejus/bazel-zig-cc/test",
visibility =3D ["//visibility:private"],
deps =3D [
- "@com_github_datadog_zstd//:go_default_library",
- "@com_github_mattn_go_sqlite3//:go_default_library",
+ "@com_github_datadog_zstd//:zstd",
+ "@com_github_mattn_go_sqlite3//:go-sqlite3",
],
)
=20
go_binary(
name =3D "hello",
embed =3D [":hello_lib"],
- gc_linkopts =3D select({
- "@platforms//os:macos": [
- "-s",
- "-w",
- "-buildmode=3Dpie",
- ],
- "//conditions:default": [],
- }),
static =3D "on",
visibility =3D ["//visibility:public"],
)
--=20
2.32.0
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 3B44211EF37
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 5 Nov 2021 13:39:06 +0000 (UTC)
From: ~mjonaitis <mjonaitis@git.sr.ht>
Date: Thu, 04 Nov 2021 18:54:42 +0200
Subject: [PATCH bazel-zig-cc v2] add go_binary override
Message-ID: <163611954593.18596.9121656084211429991-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~mjonaitis <mjonaitis@uber.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Mantas Jonaitis <mjonaitis@uber.com>
---
BUILD | 2 ++
README.md | 7 +++++++
rules/BUILD | 0
rules/go_binary_override.bzl | 26 ++++++++++++++++++++++++++
test/BUILD | 15 ++++-----------
5 files changed, 39 insertions(+), 11 deletions(-)
create mode 100644 rules/BUILD
create mode 100644 rules/go_binary_override.bzl
diff --git a/BUILD b/BUILD
index 07e6a04..a34acae 100644
--- a/BUILD
+++ b/BUILD
@@ -1,6 +1,8 @@
load("@bazel_gazelle//:def.bzl", "gazelle")
load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier")
=20
+# gazelle:map_kind go_binary go_binary //rules:go_binary_override.bzl
+
# gazelle:build_file_name BUILD
# gazelle:prefix github.com/motiejus/bazel-zig-cc
gazelle(name =3D "gazelle")
diff --git a/README.md b/README.md
index 8ae3935..7c83752 100644
--- a/README.md
+++ b/README.md
@@ -116,6 +116,13 @@ go_binary(
)
```
=20
+A workaround with [gazelle](https://github.com/bazelbuild/bazel-gazelle) `ma=
p_kind` directive is possible. This will override rules_go `go_binary` rule w=
ith `go_binary` which contains default `gc_linkopts` parameters. Add this lin=
e to your BUILD files (usually adding to root BUILD file will suffice) and ru=
n `gazelle` to automatically generate `load` statements.
+
+```
+# gazelle:map_kind go_binary go_binary @bazel-zig-cc//rules:go_binary_overri=
de.bzl
+```
+
+
## incorrect glibc version autodetection
=20
**Severity: Low**
diff --git a/rules/BUILD b/rules/BUILD
new file mode 100644
index 0000000..e69de29
diff --git a/rules/go_binary_override.bzl b/rules/go_binary_override.bzl
new file mode 100644
index 0000000..cb37807
--- /dev/null
+++ b/rules/go_binary_override.bzl
@@ -0,0 +1,26 @@
+load("@io_bazel_rules_go//go:def.bzl", go_binary_rule =3D "go_binary")
+
+"""
+go_binary overrides go_binary from rules_go and provides default
+gc_linkopts values that are needed to compile for macos target.
+To use it, add this map_kind gazelle directive to your BUILD.bazel files
+where target binary needs to be compiled with zig toolchain.
+
+Example: if this toolchain is registered as bazel-zig-cc in your WORKSPACE, =
add this to
+your root BUILD file
+# gazelle:map_kind go_binary go_binary @bazel-zig-cc//rules:go_binary_overri=
de.bzl
+"""
+def go_binary(**args):
+ new_args =3D {}
+ new_args["gc_linkopts"] =3D select({
+ "@platforms//os:macos": [
+ "-s",
+ "-w",
+ "-buildmode=3Dpie",
+ ],
+ "//conditions:default": [],
+ })
+ for k, v in args.items():
+ new_args[k] =3D v
+ go_binary_rule(**new_args)
+
diff --git a/test/BUILD b/test/BUILD
index 133fe5a..415b9c2 100644
--- a/test/BUILD
+++ b/test/BUILD
@@ -1,4 +1,5 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+load("//rules:go_binary_override.bzl", "go_binary")
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
=20
go_library(
name =3D "hello_lib",
@@ -7,22 +8,14 @@ go_library(
importpath =3D "github.com/motiejus/bazel-zig-cc/test",
visibility =3D ["//visibility:private"],
deps =3D [
- "@com_github_datadog_zstd//:go_default_library",
- "@com_github_mattn_go_sqlite3//:go_default_library",
+ "@com_github_datadog_zstd//:zstd",
+ "@com_github_mattn_go_sqlite3//:go-sqlite3",
],
)
=20
go_binary(
name =3D "hello",
embed =3D [":hello_lib"],
- gc_linkopts =3D select({
- "@platforms//os:macos": [
- "-s",
- "-w",
- "-buildmode=3Dpie",
- ],
- "//conditions:default": [],
- }),
static =3D "on",
visibility =3D ["//visibility:public"],
)
--=20
2.32.0
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50])
by mail-b.sr.ht (Postfix) with ESMTPS id 758F711EF37
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 5 Nov 2021 17:51:50 +0000 (UTC)
Received: by mail-wr1-f50.google.com with SMTP id b12so14932424wrh.4
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 05 Nov 2021 10:51:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:in-reply-to;
bh=7twJFp2dPdxRaWs/e7LS95o7UbEONAXKNGJm0Ob1Wjg=;
b=a1+afz8XHDlEPSMPQ1FTgCSKIt1O6BU6Rd4OMsdb+YfNN0HarXLbPXkX4nwcoQVJZl
x0TBYE3Lv3abwUPqgPzEvO2sLMXjYZr+ys2guFw/LE3OUQwzEaewfhGeM7mJKoc9wlcf
i5BNu3VV3MsDnylAcsasQ2W/9eEkhZbsQIILo+XOQjiBkEW7CmzR2aSg5bsTLYbGBjz5
4ERwpIY9uod2Z7w4cucD22+vJjRatF7upBT0EqPSw7Pkb5UUvac/z0u0tLh+uoIN+Xw9
d/X/U1GpLXoKyGTwMqq3JCNPXwaESWJdtRmzXXtW3fAC10J7Pa2a8suCwFYSiBOctRhd
wVXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition:in-reply-to;
bh=7twJFp2dPdxRaWs/e7LS95o7UbEONAXKNGJm0Ob1Wjg=;
b=LzlcGF6wJrQFFQM72QIjedm8gc+GZmW44ruRoyW2VSCL/XTPU47Ort7mBfXb51+d0/
HLI5U6348cQ393BjvT1Sl3xByrOLnM7E6rQLQ45WbTAjIbmXTKzOp3ngAAmeiSDuo9XN
IBZFmmu6Ztil9eyyBr1zN9u4yPyLS0OS44m1coDmUG7j4hqsWaUL/e6qZayoYMQyXBzI
g32V/kYSxO+2gcpzc2yI+xVewyST29fczusxH8F33q6ky3FK1nAgpTpSsOmpXQND9K3/
8+5lYmEXYeEIjmR73OlWwQ8qC4NJK6Q3vlaJf5ts7I8unS/E/mN6aNQyespWDRsEUZ4b
D9Aw==
X-Gm-Message-State: AOAM532XofickUl56P1GLD+NqdFHGBckg60NosiMHdXkJsbJ8j24RYrE
rXjKqltKIHdehkIOocslQnc=
X-Google-Smtp-Source: ABdhPJylZROyH/qdWll3OEJtLDTYrSm3ZUIC8mX0SUk/ck3AxLsAnvVQEyMX4exhznKgRF84qJrdFg==
X-Received: by 2002:a05:6000:143:: with SMTP id r3mr5508367wrx.236.1636134709441;
Fri, 05 Nov 2021 10:51:49 -0700 (PDT)
Received: from localhost ([195.235.63.50])
by smtp.gmail.com with ESMTPSA id n7sm8534493wro.68.2021.11.05.10.51.48
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 05 Nov 2021 10:51:48 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Fri, 5 Nov 2021 19:51:54 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~mjonaitis <mjonaitis@uber.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc v2] add go_binary override
Message-ID: <20211105175154.bzfuu666zuaxyt27@mtpad.i.jakstys.lt>
References: <163611954593.18596.9121656084211429991-0@git.sr.ht>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <163611954593.18596.9121656084211429991-0@git.sr.ht>
On Thu, Nov 04, 2021 at 06:54:42PM +0200, ~mjonaitis wrote:
> From: Mantas Jonaitis <mjonaitis@uber.com>
>
> ---
> BUILD | 2 ++
> README.md | 7 +++++++
> rules/BUILD | 0
> rules/go_binary_override.bzl | 26 ++++++++++++++++++++++++++
> test/BUILD | 15 ++++-----------
> 5 files changed, 39 insertions(+), 11 deletions(-)
> create mode 100644 rules/BUILD
> create mode 100644 rules/go_binary_override.bzl
Applied[1], thank you. Although I left only the acknowledgement in the
README; see [2] for why.
Motiejus
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc/commit/523943bd35d33f96f946be653311787426149135
[2]: https://git.sr.ht/~motiejus/bazel-zig-cc/commit/22b5d3e8e38e762a35adbfd4e13bfe5c2fb07972
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45])
by mail-b.sr.ht (Postfix) with ESMTPS id 9413211EF81
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 6 Dec 2021 20:01:32 +0000 (UTC)
Received: by mail-lf1-f45.google.com with SMTP id n12so28168895lfe.1
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 06 Dec 2021 12:01:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:content-transfer-encoding:in-reply-to;
bh=XbmO1rVL6sHMTrVhfrqqOl/bwac3U2zY7lWAQ/rHyYI=;
b=Ui4E27zUkVkuxOSfzUqdvgjLvJt2zihUNYH6RF9nSLXybcoG1pmy2uszNB9mMp4OKE
cQuFWrQbItNulmWxf1DF3oAEgyKe7TzjEGgayv/9zDmBJzlYpVetrACw5cx1UZjxHK66
weYxKw7rBN4y9y9mADbf2HLqibIbE61Q2WRJ9N+q09jTqY3t5bOCQaN7NrTnXfvdrMHv
l2+1m2JnjwmHVWnpYNaKODmnO7yBl2G/JtBF7iaVx2gzP8oYtGHZREWaeYfHuAQJtaqB
53rMyZIceJJBpsNv0Od2W/gbBXEtiER5ESSg3zFwZySBYdF5KGfnsa3fclAAxZOKyEkc
n8jg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition
:content-transfer-encoding:in-reply-to;
bh=XbmO1rVL6sHMTrVhfrqqOl/bwac3U2zY7lWAQ/rHyYI=;
b=xItNJQnvwvQPGYo/eRO3rcIcghIeEYeqaHhNjWXULh3N/u95sFwCOaPITMuXYQGi3Q
Ob4+R3CDSl54/jzyIM9UTdXO7l9Cjoc46/uE3PcTBxchclkg5wvlW+gf7qqcOPh1CT6N
2yOR9Zm0lm5SsekIu7TZ/i/bt0ki+xegDDLDIkfpaS6FMbAwxpsC8UTU0+Cjro+6z6/b
VeL4OKWI/brQARrFG3ou2k3SEH/5fGDDosuDXuvJLNxHfL19epeM1wRwKu5DNMCN0Xwf
a87rrTOyys46rLwxGIiMzJ774y6pUlTWWyw4Wats/CmugLFoaaAXWLBqIQdvkSuhJm+V
GtXw==
X-Gm-Message-State: AOAM530mwZuS8Zn37xIFZxYCoDokFqKGJTy4gP29snlm1IBQBAVALfoZ
gpL3eENl0BUbF1SG2YeWITc=
X-Google-Smtp-Source: ABdhPJzSblFiitOVK4mUPDvYX2C+QgZFR6SJ06DAAEp2kDJ1On6O52o6QBmThDQZbAdysSZh0aIlgQ==
X-Received: by 2002:a05:6512:2305:: with SMTP id o5mr37990569lfu.362.1638820890548;
Mon, 06 Dec 2021 12:01:30 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id q24sm1443528lfp.103.2021.12.06.12.01.29
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Mon, 06 Dec 2021 12:01:29 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Mon, 6 Dec 2021 22:01:28 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: Thomas Way <tway@cloudflare.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: bazel-zig-cc contributions
Message-ID: <20211206200128.vyx7b4r5h2moe5dk@mtpad.i.jakstys.lt>
References: <CAO8CkMSaFSeYVsgczJPStPz9M3LDZCUdABRo8Pk1+=U6v-NT0Q@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAO8CkMSaFSeYVsgczJPStPz9M3LDZCUdABRo8Pk1+=U6v-NT0Q@mail.gmail.com>
On Mon, Dec 06, 2021 at 05:57:46PM +0000, Thomas Way wrote:
> Hey Motiejus!
> Thank you so much for your work on the Zig CC rules. They're been
> extremely helpful and a true gamechanger for the way we work with our
> repository.
> Per Zig's cache race conditions, we've made some changes to the rules and
> were wondering what the best way to contribute them would be?
Hi Thomas!
See [1]; I also recommend you to subscribe. I haven't heard of anyone
using bazel-zig-cc, so I guess I'll need to be more careful/upfront
about breaking changes.
> A quick summary:
> - Use an alias for the Go-style toolchain. This should be more efficient.
> - Some general cleanup of unused features (i.e unnecessary filegroups).
> - Most importantly: Use a cache location inside Bazel. We found that
> sometimes Zig's cache would become corrupt on the host and would become
> irrecoverable even after running `bazel clean --expunge`. Using a cache
> location inside Bazel fixes this issue and is good practise in general I
> believe.
These sound great, send them over!
> I look forward to hearing from you.
Have you found a need/way to specify a different default url for the zig
bundle? I've been playing with it[2], but unsatisfied with the API so
far.
Motiejus
[1]: https://sr.ht/~motiejus/bazel-zig-cc/#contribution-guidelines
[2]:
https://git.sr.ht/~motiejus/bazel-zig-cc/commit/8f5f249227aa6a9d3de441058eb9d3aae330620b
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42])
by mail-b.sr.ht (Postfix) with ESMTPS id 9975311EF93
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 10 Dec 2021 07:57:40 +0000 (UTC)
Received: by mail-lf1-f42.google.com with SMTP id m27so16481755lfj.12
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 09 Dec 2021 23:57:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=HQ/hL64B6GWzGaNBVZUn4QLaOj38mBj6tYEQkF5T6Hc=;
b=HRbxSWHJkd1mlvqgFdlGyFOVOlXJr8/e2Tz9lm1YMGwoH50u/oTHT0Qv3csF9/DxXs
0vAyK8YeTncB6iGP/uyCF2mzrTRLsWaJXwYMmRGq0Q32iQkHjURwdbaruxZF/EAHx4V9
1O20KHVUapedNnIzdC940UhaYnwTolyUi7tHj6dQLPyA26ukzQK6TYjrlNRZa5qyogX5
W3OTN1Kk0mfU8IOWyCJocFb0sozLbzT//HP/L+UfXkid4IvtpuEfTLIkBr/Ez0fZEXtY
0HW3+PZKwNBV8A1eMNfmX+aW0XPfPpek8mCZ41iGi/5TEBdO2O75520iDnYXYqfc4VZ2
VuCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=HQ/hL64B6GWzGaNBVZUn4QLaOj38mBj6tYEQkF5T6Hc=;
b=rgCpluQpBDnpflGkjPs3XJ4t/c293EfjPhwWqR6bwA+eGn12gq6HsZ8ZC+aPW2TBVX
rdcNzG6RWq4v4asAp8Ng3pDESOGLPADxlsLqS/RxW6pqTzZXNE67kCvoEDEzZ6mE8bIg
AK56XSqB6bfUkl9PJbd4R7l6O4EZjM/7AQGoSY3xW1OQ2XXvQ8PjMNWrSuF6rZVq02y6
MuxhGBzQer/LQmI8M6XL9lNAYKJzeimwG2zVzmGWX+d1cJig37qc3QF1HBK57PG6rxnw
gteWVE/yPY5J3ul1aBTW0VV3seXnb8KixoihOsvc7aH0/PqxjyV6Fga8WbFQvwpDat7c
JRhQ==
X-Gm-Message-State: AOAM533n1LpdCI+K//K6+CY/Cqn/Tw+F334UDBFn1SSG0G+TDXt+3kt+
8NFjbzbVpYsCB/CYuQVrhM+W99Yg5Ck=
X-Google-Smtp-Source: ABdhPJz07XVpRcQkYipcpP+OcZMq1nSXbEg5HLv7ziv6SBn8gWkNFCfBr4BGn3fJkpaD+Ur7p/dZpg==
X-Received: by 2002:ac2:5f85:: with SMTP id r5mr10983167lfe.566.1639123055422;
Thu, 09 Dec 2021 23:57:35 -0800 (PST)
Received: from localhost (m90-131-39-222.cust.tele2.lt. [90.131.39.222])
by smtp.gmail.com with ESMTPSA id a1sm262188lfb.190.2021.12.09.23.57.34
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 09 Dec 2021 23:57:34 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Fri, 10 Dec 2021 09:57:33 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: recent changes in bazel-zig-cc
Message-ID: <20211210075733.ihb2b57lyges4l6d@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi bazel-zig-cc users,
Due to a recent bug-fixing spree in zig, bazel-zig-cc improved quite a
bit:
- `zig c++` no longer errs with the dreaded FileNotFound[1]. This was
very prominent on many-core machines, and now unblocked larger-scale
tests.
- can compile Darwin again: x86_64[2] and aarch64[3]. Although if you
are interested in compiling for Darwin, Jakub's comments in [3] are
must-read.
My only short-term wish-list from Zig today is [4]: if Foundation
framework is requested, but zig doesn't find it, the compiler should
fail. Currently only a warning is emitted, and the binary is wedged with
a possibly "difficult to track runtime exception"[5]:
```
warning(link): framework not found for '-framework CoreFoundation'
warning(link): Framework search paths:
```
I added an Upcoming Wishlist category to the README[6], which is:
- Move Zig cache path to bazel root, so bazel clean --expunge clears the
zig cache.
- Provide a way to specify alternative URLs for the zig toolchain
(currently zig is downloaded from jakstys.lt, which is nuts).
- Rename @zig_sdk//:<toolchain>_toolchain to
@zig_sdk//toolchain:<toolchain> or similar; so the user-facing targets
are in their own namespace.
- Provide a way to specify sysroot for Darwin (OSX). See [#Compiling OS X
executables] for an ongoing discussion.
As bazel-zig-cc is only ~10% of my $dayjob, I am not planning to work on
the above any time soon. But it gives a nice starting point for a
question "how do I help/contribute"?
Zig 0.9.0 is 10 days away, I will cut bazel-zig-cc 0.4.0 once that
happens.
[1]: https://github.com/ziglang/zig/issues/9431
[2]: https://github.com/ziglang/zig/issues/10297
[3]: https://github.com/ziglang/zig/issues/10299
[4]: https://github.com/ziglang/zig/issues/10299#issuecomment-990404953
[5]: https://github.com/ziglang/zig/issues/10299#issuecomment-989153750
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177])
by mail-b.sr.ht (Postfix) with ESMTPS id 6E05E11EF94
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 13 Dec 2021 02:38:20 +0000 (UTC)
Received: by mail-lj1-f177.google.com with SMTP id bn20so21731895ljb.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 12 Dec 2021 18:38:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=yoiGVjBHZN2xJAtcYYTqPfPA8yxvgKQ0VkBgA3ZSX20=;
b=f1258iMcV/Wbk9swTsCSoWGYASEwg9aI6PY4Ee8hYi1a6CQMkWzwFdEiaaYyCOpABn
4AtFWDrTM3fZ+ctksbg+tDl782Z9o929B/4SAcfXInX9oKHsobmzO0ChoS7QaFX3JK32
/sKmWTcN6rLg8BUSmN4D8EkIG3mJV48jx1VdbHKSZtlPxHLHIWMIWJCzsTr9ihVMCYkE
2lik9ffXQLWbQScNgwirCm14fb44rEBRQ3ooXYBG/wRsPyH+IP15/fZN47AF7kPrITU1
Pbg2s7PL8WxYNogXtD7f77UsfyN7/YrJOqUIlfe0yxQb1wtMXibAB7su9uSpKZ3/PoIU
q20w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=yoiGVjBHZN2xJAtcYYTqPfPA8yxvgKQ0VkBgA3ZSX20=;
b=L9A3RyHTzHV+FMUGbXt87CW6BV9dZ7kcW4N2Y6v6EGeuaGYohH7qt5jGFHF3qL2+rk
lv3ZY/3cCaCgBq1G1QevpO40orf+7Ci4hLvL0YLC8MqI4QWzTemvMJsq3jb8aZ9lBMIs
HMXrqAuEhqatukjO/o5gykvb6oFhJF56HCwe3dIZgud75BaYNSKZKRvg/1X30S9EjBg3
+Y+qElbC26lKKpzvTnlG8VI4Gg+W1aMNeaa6gB/ybsddLGIss+jtoKWgI+Pey/P6b1bV
Hc0mwChymAeWPdIBlYD5cphbFMr9uPl4ceoQCw7l6+du+lI1M2/x5jFUV0taGLBTaHR2
FadA==
X-Gm-Message-State: AOAM532NYpPD+ClV9sorQ9xbOrDBd+RgPqTbGjWmHYTxFYWTzBlmr8Ae
f3Y9g5K1oa/cMkDMkzESuHr/EpL1yy4=
X-Google-Smtp-Source: ABdhPJwy5PDLB0wyelzZ7tpYgzeQzFLInozFHtZ4lQRvqE0cFrzbeHeXlgo/tK2Bzr/WRZea468KCA==
X-Received: by 2002:a05:651c:323:: with SMTP id b3mr26998720ljp.316.1639363097753;
Sun, 12 Dec 2021 18:38:17 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id z2sm1235075lfd.301.2021.12.12.18.38.16
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sun, 12 Dec 2021 18:38:17 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Mon, 13 Dec 2021 04:38:16 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.4.0-rc1
Message-ID: <20211213023816.obgjrpaxt445lzpn@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi folks,
I released v0.4.0-rc1; notable changes from v0.3.4:
- upgrade to zig 0.9.0-dev.1950+a76910b69. Now compilation on Darwin
will fail if `-framework` was specified, but wasn't able to be
linked[1]. This happens on darwin/arm64, which I had to disable CI
for. A patch that passes `zig cc --sysroot=/path/to/sdk` is sought
for, if you care about darwin/arm64 (or darwin in general).
- remove default `-O3`[2]. This now re-enables UBSAN by default, which
is an important default in upstream[3].
v0.4.0 will be released when zig 0.9.0 is released, which is scheduled
for Dec 20.
About undefined behavior (removal of `-O3`)
-------------------------------------------
The second change broke my use of brotli, which relies on undefined
behaior[4]. This is my ugly way to mitigate it:
Project's WORKSPACE
```
BROTLI_COMMIT = "4ec67035c0d97c270c1c73038cc66fc5fcdfc120"
http_archive(
name = "brotli",
sha256 = "9f57c32e5903768a03900366d8a055d49c01ecbbded046dce47eae24115b58b8",
strip_prefix = "brotli-%s" % BROTLI_COMMIT,
urls = ["https://github.com/google/brotli/archive/%s.zip" % BROTLI_COMMIT],
patch_args = ["-p1"],
patches = [
"//patches:brotli-disable-undefined-behavior.patch",
],
)
```
And the patch:
```
diff --git a/BUILD b/BUILD
index 07a6793..2b4d1c1 100644
--- a/BUILD
+++ b/BUILD
@@ -43,7 +43,7 @@ config_setting(
create_msvc_config()
-STRICT_C_OPTIONS = select({
+STRICT_C_OPTIONS = ["-DBROTLI_BUILD_PORTABLE"] + select({
":msvc": [],
"//conditions:default": [
"--pedantic-errors",
```
If anyone has a better idea how to append a COPT to a downstream Bazel
project, I would be happy to learn from you.
Motiejus
[1]: https://github.com/ziglang/zig/pull/10312/
[2]: https://git.sr.ht/~motiejus/bazel-zig-cc/commit/985e26b474fb7594bb385ce9382def7c95373ca9
[3]: https://github.com/ziglang/zig/issues/4830#issuecomment-605491606
[4]: https://github.com/google/brotli/blob/ce222e317e36aa362e83fc50c7a6226d238e03fd/CMakeLists.txt#L104-L108
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172])
by mail-b.sr.ht (Postfix) with ESMTPS id 8F7BE11EFCB
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 15 Dec 2021 13:13:09 +0000 (UTC)
Received: by mail-lj1-f172.google.com with SMTP id z8so33239469ljz.9
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 15 Dec 2021 05:13:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=Nd/WltjseH/65+GIHu93VIGVBFJcCg0jRhztUcKW+SU=;
b=YifS23k0ae73nB9jZrmpDfVWyVtYzoJdrWXc+5MNan5dueiYI+Pmjnkg9jxIEOwcnL
+VQHmcJ/Y9M6AdNgdKZwndRPHH0Czcw5mAcY0TeM47/bsU3T430BePLSIS5/O6p6JX/2
Hwxm8E9j6Z7zWCGPQZaZp+rFNsF2Zu9O26JiTRJQUhLsUysQG6FZknoPtpfX3BeZ+yoM
v2LcX8luagONzI+/x3P45oLzYKCDigtt18ZB3KRPNEshaf5dmN8RStVg1IDrw1FjUtRT
oL9zGkok8U8knDDek8p7lhB3MRboeGt594Ne5yQY/fbAJ2/X+Z1+xj7B4K6RRPlnHRXO
OAUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=Nd/WltjseH/65+GIHu93VIGVBFJcCg0jRhztUcKW+SU=;
b=pf8ogSdB1vOvUEquKYzJlAQtWpqT33q/Bg6qFpxtPUo1WjfP9wQr2AaOrjf5vw6aop
xEwyTnjTlepxIE+vzRGJia9BFnl1521dGEJQEs3U1+oUsuBbVRakm8nHmW/nxOXuMJAY
5ZO5wINNUWWAXNCoqAt9IL+AwhgnPu2ywTUtB7U+lSp04UuiykNScGtuZJ2RUx5P+0aj
Fe0POq1r5B4A7Jd7CqsD1ScZryljzSpljtqAUoDyofvfGG9IThOIGh2/7CWvFFgJW8Ad
ZSHXjUYfzwt/y3MJLaJplBF5rsFzROStOsSGLx30sltzXSmCrrJYG1LtXuAIm5rgj1SJ
6rrw==
X-Gm-Message-State: AOAM533R97q6G/KfXwqKpV2oIKXGZVFqUK4F6MiTLkJRDOtDFFszGnUt
aYBdph3HB+26HO13BPLB93gvtQqpLtc=
X-Google-Smtp-Source: ABdhPJx3uV4VjLPjCmWnmHQG63N7zAf+Y2l6UqhNBFLQzu4Z0QoQypdM5i/S04/3RQt/gC2gd7mUZw==
X-Received: by 2002:a2e:7305:: with SMTP id o5mr10152834ljc.180.1639573987957;
Wed, 15 Dec 2021 05:13:07 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id o24sm316972lfr.117.2021.12.15.05.13.07
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 15 Dec 2021 05:13:07 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Wed, 15 Dec 2021 15:13:06 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.4.0-rc2
Message-ID: <20211215131306.toz7czanzdhhukbe@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi folks,
I released v0.4.0-rc2, this time only upgrading zig to
0.9.0-dev.1968+ff93486d0 (from 1950). Two notable changes with regards
to `zig cc`:
- [darwin] zig cc will now fail hard if `-framework` is specified, but
not found. It used to produce a strange-looking, likely-unworkable
binary.
- glibc stubs are fixed[2]. I have been waiting for this for a long
time. More on this in HN[3].
These resolve the last known high-severity issues. Thanks zig team! As I
am not expecting any final-day fixes in zig itself, there likely won't
be an rc3. A few weeks after 0.9.0 is released, I am planning to remove
the dev versions from my mirror[4].
Tip of the day
--------------
This is helpful in `.bazelrc`:
build --compilation_mode=opt
This makes non-tests to be compiled with -O2. Tests will be compiled
without optimizations, making compilation faster, and retaining
UBSAN[5].
Open questions
--------------
The question from last week[6] still holds: how to adjust CFLAGS for an
external Bazel project?
Motiejus
[1]: https://github.com/ziglang/zig/pull/10312
[2]: https://github.com/ziglang/zig/pull/10330
[3]: https://news.ycombinator.com/item?id=29538264
[4]: https://dl.jakstys.lt/zig/
[5]: https://github.com/ziglang/zig/issues/4830#issuecomment-605491606
[6]: https://lists.sr.ht/~motiejus/bazel-zig-cc/%3C20211213023816.obgjrpaxt445lzpn%40mtpad.i.jakstys.lt%3E
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177])
by mail-b.sr.ht (Postfix) with ESMTPS id E229D11EF12
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 27 Dec 2021 08:41:55 +0000 (UTC)
Received: by mail-lj1-f177.google.com with SMTP id i11so12257671ljm.13
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 27 Dec 2021 00:41:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=wbwsWNmX9ACiddCLR8HrD69hw93GH+pGJxzcr23R6rM=;
b=dJQmTKPHoBlHHAkyWNFHks9q1bXMAkrYrZl5scATSk3Njq3uDtNg6ZePXJE2E52O8j
5t3SLmKPiCE4cljIPqMwljlWHrKZZJ3kc4a6cnGGGdXhOV53CHBYg/ox7Ck8f06/v6Ja
Rnw3hk5ExzZdfNIpieCztf5pAczKs+EJ83cxoJOR0KvGdof0gWsOop2M59eFpIEDuBzn
wlgxkVdd3zwmO2lOS7QUwosUkIbOyZkqY7JooI6WvL6GNcxeZdzGZrGy79F2oy1Y9cNc
pxAU1lr/REJg05oAR2T4pnRE5CKu2IEcxQhrj93Ev6xMxsvoNBl+1lPBGRoQjN0mH53i
bD1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=wbwsWNmX9ACiddCLR8HrD69hw93GH+pGJxzcr23R6rM=;
b=0a0GA3vwn7I9H5bZ+7j9JKANjBci6Cy6bVy2w2CwnWwTaa7DFuQtq3WPn1ew623EN3
0MOuhwhGNKATpe2xicuCNX0bGAYcdELucvNqCRgtJmCCemuvpNhft+iqNFqbikUU104R
MXZJ4umCMwL7q9qFSHFZ2ss7yzsOpPipUsEx8vUfzbWDK+t/C0k8TbqPYu9J5GxTM0Ij
pykyVmYm1dZgTnZ2/MnnTupfSVB0lyT1IVCaKlcShPKNoZBMVVoGlSPC9OcwrxvFmCyO
/1VVlw3/SSvaDsubVmRRLygqLzc2g+u4u4qvhgFm6jIwycYgUMQmftvWCpg+byXQi1w2
+YIw==
X-Gm-Message-State: AOAM53232Y6heOR1VRU9KAEewm/STKfMJjfFhmrKpvp33SRSRIjhReRT
MzLK1b9lTWFqiutkuzy6t/tEP8Xd2Nw=
X-Google-Smtp-Source: ABdhPJx6ysrzoYMTFmAldsjWAd2AmWOnspuGaPYDfO1NywR7rTlaoEe1V3yyloNzmWWczgMgR9EN1A==
X-Received: by 2002:a05:651c:12c3:: with SMTP id 3mr13364719lje.311.1640594514193;
Mon, 27 Dec 2021 00:41:54 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id z17sm1581748lfu.128.2021.12.27.00.41.53
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Mon, 27 Dec 2021 00:41:53 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Mon, 27 Dec 2021 10:41:52 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: upcoming bazel-zig-cc 0.4.0
Message-ID: <20211227084152.mjkx33nbxhnls5qz@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi folks,
I cannot yet release bazel-zig-cc 0.4.0, because there is a regression
in `zig c++`; you may follow along here[1].
I am happy bazel-zig-cc CI caught this[2]; this regression was quite
easy to trigger.
I accidentally pushed 0.4.0 a few days ago, but promptly deleted the
tag. If you managed to catch 0.4.0 (it was there for <1 hour), please
remove the tag. My mistake, I will try harder not to do this again.
Note that this affects only glibc targets; I am successfully using zig
0.9.0 with a musl target (0.4.0-rc2 with a custom zig version).
Regards,
Motiejus
[1]: https://github.com/ziglang/zig/issues/10386
[2]: https://builds.sr.ht/~motiejus/job/654617
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54])
by mail-b.sr.ht (Postfix) with ESMTPS id 3EB8D11EFDB
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 4 Jan 2022 17:16:46 +0000 (UTC)
Received: by mail-wr1-f54.google.com with SMTP id q16so77569936wrg.7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 04 Jan 2022 09:16:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=mime-version:from:date:message-id:subject:to;
bh=KTpeB6mEXbEVO9a1XtNR3GFzrxOFWa+ZXF8Ntx3rgQE=;
b=Xqqvwjx/OFAQCXqZrQRRfr4f/6Hy6ogWOP8o9/6CBrtsLEFipeCcyCM4UlWOpa/9Fy
VKSnc4F2ZzQVZVUES7wSf7KFum76ug5kMU5PwBuFX9A8bEf9lcHrpCxXN3x9H+9TPvC6
7sKeEX/UHtzvz+DW+rRwhFs8avs4emaJytc1g/5xrdZHYzRQBJjc0JOQk4YmenkQWYh5
CoCPoKtD+0AHORd7s4bAjdxHcSuNco/9YOtrNcpbpJoZWpBuF89vpOhiNnXkjHZ+Ib5r
fpS0I0H/WuM6OPAtWk/9buSDH8eMqeQvdFfM8NQOQpfnuznjacKtcOmDxitr3qGpYlP0
o1rQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
bh=KTpeB6mEXbEVO9a1XtNR3GFzrxOFWa+ZXF8Ntx3rgQE=;
b=EoaQhWc7ZeEt+nZ4OO9aWJ8EBVIwUx77DkAP8gfTjY4TOTQdw3NvqB8IXfMOaKncLL
jHzl5jeG2xBsKuMluZ5T39g+CHXiauQpeE6xAwO1tMdspk8LLhNtqNXiE03o/MKLi2DX
n0Z2CNfyj5kIXSn4+xGuGjoxxj3skjGSu8Qo81FdEzmQYeSCXsRGuiPehleMRtjyo4Y6
wppYadALhSCdQYpYtBK260baG1d8NlhO0I8qT3EGA9svs6Pq+2Jmn64poWYcLrwXdehI
hgKWt1gq9HEetyBTozHsntK3+rM5I/9rWaqoisQ2RXCHjLk7ABmXRT+GnG/TPOklhyH2
bvOA==
X-Gm-Message-State: AOAM533nQTAoOK3lrkUd5a9qUOIOlNZqE9sijsCribhFatAX7FRj5Yk4
AAxFSmbbSf9wffS6dz99DqKatIhgqm/6eHoqtxtPf1bPXSk=
X-Google-Smtp-Source: ABdhPJz5SDvu+LXfelCJO5FWEZ1/pCy7suiHJOP2dd4cF85wjaqUTXVLRsNB38Gvt9oPDvc//YU8gletRsD/roItGgQ=
X-Received: by 2002:adf:fc0d:: with SMTP id i13mr42706077wrr.296.1641316604314;
Tue, 04 Jan 2022 09:16:44 -0800 (PST)
MIME-Version: 1.0
From: Joe Schafer <joesmoe10@gmail.com>
Date: Tue, 4 Jan 2022 09:16:33 -0800
Message-ID: <CAOGO9CoqMcAp=_9KVB3g9o5Jp45OtcAP7TT_Cn_Gom-YfQ9pew@mail.gmail.com>
Subject: uname -m on M1 MacBook returns arm64
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hello,
I'm a big fan of this project. It's *lot* easier than trying to figure
out other Bazel CC toolchains.
One of my teammates ran into a curious error on an M1 Macbook using
the latest bazel-zig-cc.
cc/toolchain/defs.bzl", line 219, column 70, in _zig_repository_impl
zig_include_root =
repository_ctx.attr.host_platform_include_root[host_platform]
Error: key "macos-arm64" not found in dictionary
I traced this to toolchain/defs.bzl [1] which uses `uname -m` to get
the architecture. It looks like bazel-zig-cc only supports aarch64 but
M1 Macs return arm64.
What's really spooky is that bazel-zig-cc worked on my M1 mac but it
didn't work for two other devs on my team also on M1 macs; they got
the above error.
I was able to work around the problem with the following steps:
https://gist.github.com/jschaf/c9be10d806020087680310e49f6e2072.
- Uploaded all zig SDKs to my own hosting. I had to use my own hosting
to create macos-arm64 which is really just a copy of maco-aarch64 but
I had to change the folder name to match the archive name.
- Added "macos-arm64" to host_platform_include_root, similar to "macos-aarch64".
I'm by no means a Bazel toolchain expert, but I would have thought
there's a better way to get the host platform architecture than by
shelling out to uname. Appears that there's not [2] but that answer is
from 2017. Maybe platforms provide a way out [3]?
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/main/item/toolchain/defs.bzl#L210
[2]: https://stackoverflow.com/a/45029999/30900
[3]: https://github.com/bazelbuild/rules_go/blob/master/go/private/go_toolchain.bzl#L95
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41])
by mail-b.sr.ht (Postfix) with ESMTPS id E27F211EEAC
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 4 Jan 2022 19:01:44 +0000 (UTC)
Received: by mail-ed1-f41.google.com with SMTP id j21so152096346edt.9
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 04 Jan 2022 11:01:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:in-reply-to;
bh=sqozoOSn/Xg8xLEoqSt6hEPuCR5lAjjcsfSFhFhcG28=;
b=a5i7J7P+5dbR5hl9nrzn0rGAkpdY0vv+Cc/GvjD76am5EYdD6fAfwSTe7zkNzUa057
9BHEl6yT3TJB64QY7y46wtmX2arRDct0A1vVBi3rkNeU9qNm7HAc9SyjMMWH3qnKYjPj
/2hKFGMdZl8nPSQQLbe5jNHWWjy4pHjTufC3T0bnslJYRb/ZF/St8ceebXJdsd2QK39r
lOsuZBdKccvOU4hCU16mI+TNlXSCru8VJoagGVFrct1KumgBPaMw9TPacKtGAhJGtO2S
K1v6VICmXAKJQdpUpAjJGDA8SWMTbK66r8ePnQCfmTIw5ulTzWnZsstAhlbJZ4iIXaKy
0UKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition:in-reply-to;
bh=sqozoOSn/Xg8xLEoqSt6hEPuCR5lAjjcsfSFhFhcG28=;
b=Sh6rOJJbCS73hQaXWJ24BSAdUhnVxIcU9hHGN5WQIPR4n4jP+sEJjaN4kVurdXFwhP
XlpdrGSkqKLwjhYUI66FDhQBMIh2kylKLftNE8C0u027dJ/iGtRnGbdUQXOAf6Q8E8+b
+lMJoI55Jvl0g+ytjpGDyXUYgnZj7jxuWtZTchTRiB1f+GbBpPxIQtexfo9FbnWfM0gk
6tUJlR9VFLallMaiIDyJmgdDKhgN6xpd2Z8dUvK3GApXvgUjimuOHgiU/0omX5giImRB
3+XhMfBShAVDj3hFL+gWid4JB0YMZyr7TqRB0JJyCTZ8k9xxMnzKslN0fAqoaQW/rfxX
lKMg==
X-Gm-Message-State: AOAM531XYd7AS2cJLP7y2V3qLSjker6j1R0GeTmQmEqRsP+VLbmd6h09
1xv4u9Wi6FL3PkC+fRkk1PE=
X-Google-Smtp-Source: ABdhPJxmWYo6/XUgdzhYjIyhKSbIam61biE8MnttlBA315Az3EYiIUwHczhxeqqmFvn3kXL69nQs5A==
X-Received: by 2002:a05:6402:1702:: with SMTP id y2mr49857910edu.372.1641322903749;
Tue, 04 Jan 2022 11:01:43 -0800 (PST)
Received: from localhost (c54-242.i04-14.onvol.net. [84.255.54.242])
by smtp.gmail.com with ESMTPSA id nd36sm11599581ejc.196.2022.01.04.11.01.42
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Tue, 04 Jan 2022 11:01:43 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Tue, 4 Jan 2022 20:01:42 +0100
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: Joe Schafer <joesmoe10@gmail.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: uname -m on M1 MacBook returns arm64
Message-ID: <20220104190142.gwu27ru3iprhkyr2@mtpad.i.jakstys.lt>
References: <CAOGO9CoqMcAp=_9KVB3g9o5Jp45OtcAP7TT_Cn_Gom-YfQ9pew@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <CAOGO9CoqMcAp=_9KVB3g9o5Jp45OtcAP7TT_Cn_Gom-YfQ9pew@mail.gmail.com>
On Tue, Jan 04, 2022 at 09:16:33AM -0800, Joe Schafer wrote:
> Hello,
>
> I'm a big fan of this project. It's *lot* easier than trying to figure
> out other Bazel CC toolchains.
>
> One of my teammates ran into a curious error on an M1 Macbook using
> the latest bazel-zig-cc.
>
> cc/toolchain/defs.bzl", line 219, column 70, in _zig_repository_impl
> zig_include_root =
> repository_ctx.attr.host_platform_include_root[host_platform]
> Error: key "macos-arm64" not found in dictionary
>
> I traced this to toolchain/defs.bzl [1] which uses `uname -m` to get
> the architecture. It looks like bazel-zig-cc only supports aarch64 but
> M1 Macs return arm64.
>
> What's really spooky is that bazel-zig-cc worked on my M1 mac but it
> didn't work for two other devs on my team also on M1 macs; they got
> the above error.
Hi, Joe,
that's interesting indeed. I don't have an M1 mac, nor know anyone
with M1 mac, to test this "more closely".
> I was able to work around the problem with the following steps:
> https://gist.github.com/jschaf/c9be10d806020087680310e49f6e2072.
>
> - Uploaded all zig SDKs to my own hosting. I had to use my own hosting
> to create macos-arm64 which is really just a copy of maco-aarch64 but
> I had to change the folder name to match the archive name.
>
> - Added "macos-arm64" to host_platform_include_root, similar to "macos-aarch64".
>
> I'm by no means a Bazel toolchain expert, but I would have thought
> there's a better way to get the host platform architecture than by
> shelling out to uname. Appears that there's not [2] but that answer is
> from 2017. Maybe platforms provide a way out [3]?
Re [3]: looks like `declare_toolchains` is an external function, and it
accepts `host` as a parameter, which should be set by the caller? If so,
I am not following how that would help.
If you can dig in for more information why `uname -m` returns arm64 vs
aarch64 (OSX minor version? something else?). If there is no other way
out, I would be OK to for an internal workaround to map darwin/arm64 to
darwin/aarch64 during download, provided it's the only problem
Is downloading the toolchain the only problem? Once you add that
workaround, does it keep working as one would expect?
Motiejus
> [1]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/main/item/toolchain/defs.bzl#L210
> [2]: https://stackoverflow.com/a/45029999/30900
> [3]: https://github.com/bazelbuild/rules_go/blob/master/go/private/go_toolchain.bzl#L95
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47])
by mail-b.sr.ht (Postfix) with ESMTPS id 51C2B11F170
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 6 Jan 2022 22:43:41 +0000 (UTC)
Received: by mail-wr1-f47.google.com with SMTP id a5so3645821wrh.5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 06 Jan 2022 14:43:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=WVJwDaPOhVhlyrEU+IRdCCE5Bs5cs9UYUZN+DWlC13U=;
b=Z/YdhgFssOWay1GX6DwjpELzE/O5CmnFXAOJZ+pn2YLEu07Qs9sIEatIYuFpIWdSGz
3ys7HemMNLgN40g+u90oqSWvUIBDpaxaeuzkXAyzJz/u5dnF2H+EFJdKa4b2RoldgMR2
vX/4tDQIRRuhEfjp4xdZ4sIEhjdpvpXGkI5UFaxymHpynCWdKJCF5yY5e7YcJU54tUkQ
B+n9XOftt91ax28/+6M2tsQSvr/lZQHWDc6MWOuTfpmcuHdme0or7AjCV1d4Szmi1lCK
2OxbGJm9YGHDbbEwYJnk0x+tpppdnKJ3fRryThv+wh2eIsqV3pjANZRW7lN6dl2GnY5+
xcSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=WVJwDaPOhVhlyrEU+IRdCCE5Bs5cs9UYUZN+DWlC13U=;
b=nHdFi9MD25Cmnt+QIo5ORWYAUAwJkPxPhA7B5pAWgHocWB4t7WqwMhBBwOW2Ak2NJn
mcGhdWj/ZTE2/v0CEOo25uOng9gFD/dAxcRSnxNmgSYGGlJOUCTebMA+e8ke9UzpY6Mu
Jebqf1DK8Z7Z5kbQInEtTVN2d3GPFrWbv09WRDBKwZgITEpm5cJwGMRiicQ7cT3X3w5n
1yjZCN0MMkld5x67RL8MhTt67uFMOsg2Fjuyeb+GSfMuSifmEFebd3sssa4bWP9KNDWQ
PcuyVLGDarSS3tAKPnpLBbCDX8mcwvZE5jxigcq+aDyv7AeneNSs2qlUYP7G2ZVVIVHf
v6dQ==
X-Gm-Message-State: AOAM531xruJG1qetqb3s6+BOTwLPHXsX/dT/uuM4/WasEwcAw9Os6Sxu
j4REnms9oZpJjZToGhu1eb29LLGb/DMsOjF10q8=
X-Google-Smtp-Source: ABdhPJxRSSzGKj43T3pehcBp+IYkqmzlgASVkMQHNoO58R9ZKtMCcLdOodTRXRfoEgA0ot8Jo67L0SZFfh1RBrbXXCU=
X-Received: by 2002:a5d:64c6:: with SMTP id f6mr50835474wri.711.1641509019852;
Thu, 06 Jan 2022 14:43:39 -0800 (PST)
MIME-Version: 1.0
References: <CAOGO9CoqMcAp=_9KVB3g9o5Jp45OtcAP7TT_Cn_Gom-YfQ9pew@mail.gmail.com>
<20220104190142.gwu27ru3iprhkyr2@mtpad.i.jakstys.lt>
In-Reply-To: <20220104190142.gwu27ru3iprhkyr2@mtpad.i.jakstys.lt>
From: Joe Schafer <joesmoe10@gmail.com>
Date: Thu, 6 Jan 2022 14:43:28 -0800
Message-ID: <CAOGO9Cr=foMi5dX8m_ygVxeX_YVMRU1D=Ex7mTxL9ew_VBpYQA@mail.gmail.com>
Subject: Re: uname -m on M1 MacBook returns arm64
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
> If you can dig in for more information why `uname -m` returns arm64 vs
aarch64 (OSX minor version? something else?)
I think I figured it out. It depends on whether the Bazel binary is an amd6=
4
or arm64 binary. I installed the amd64 version Bazel first on my team befor=
e
arm64 was available. macOS runs the amd64 binary and propagates the
architecture down the call chain, including the subshell to uname. I can
confirm by running uname under x86_64 emulation with:
arch -x86_64 uname -m
x86_64
So I think this package will not work for an M1 mac running an arm64 versio=
n
of Bazel. I think an internal translation from arm64 to aarch64 is likely t=
he
easiest approach.
> Is downloading the toolchain the only problem? Once you add that
workaround, does it keep working as one would expect?
Yep, as long as both the host_platform_sha256 and
host_platform_include_root dictionaries account for arm64.
On Tue, Jan 4, 2022 at 11:01 AM Motiejus Jak=C5=A1tys <motiejus@jakstys.lt>=
wrote:
>
> On Tue, Jan 04, 2022 at 09:16:33AM -0800, Joe Schafer wrote:
> > Hello,
> >
> > I'm a big fan of this project. It's *lot* easier than trying to figure
> > out other Bazel CC toolchains.
> >
> > One of my teammates ran into a curious error on an M1 Macbook using
> > the latest bazel-zig-cc.
> >
> > cc/toolchain/defs.bzl", line 219, column 70, in _zig_repository_imp=
l
> > zig_include_root =3D
> > repository_ctx.attr.host_platform_include_root[host_platform]
> > Error: key "macos-arm64" not found in dictionary
> >
> > I traced this to toolchain/defs.bzl [1] which uses `uname -m` to get
> > the architecture. It looks like bazel-zig-cc only supports aarch64 but
> > M1 Macs return arm64.
> >
> > What's really spooky is that bazel-zig-cc worked on my M1 mac but it
> > didn't work for two other devs on my team also on M1 macs; they got
> > the above error.
>
> Hi, Joe,
>
> that's interesting indeed. I don't have an M1 mac, nor know anyone
> with M1 mac, to test this "more closely".
>
> > I was able to work around the problem with the following steps:
> > https://gist.github.com/jschaf/c9be10d806020087680310e49f6e2072.
> >
> > - Uploaded all zig SDKs to my own hosting. I had to use my own hosting
> > to create macos-arm64 which is really just a copy of maco-aarch64 but
> > I had to change the folder name to match the archive name.
> >
> > - Added "macos-arm64" to host_platform_include_root, similar to "macos-=
aarch64".
> >
> > I'm by no means a Bazel toolchain expert, but I would have thought
> > there's a better way to get the host platform architecture than by
> > shelling out to uname. Appears that there's not [2] but that answer is
> > from 2017. Maybe platforms provide a way out [3]?
>
> Re [3]: looks like `declare_toolchains` is an external function, and it
> accepts `host` as a parameter, which should be set by the caller? If so,
> I am not following how that would help.
>
> If you can dig in for more information why `uname -m` returns arm64 vs
> aarch64 (OSX minor version? something else?). If there is no other way
> out, I would be OK to for an internal workaround to map darwin/arm64 to
> darwin/aarch64 during download, provided it's the only problem
>
> Is downloading the toolchain the only problem? Once you add that
> workaround, does it keep working as one would expect?
>
> Motiejus
>
> > [1]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/main/item/toolchain/=
defs.bzl#L210
> > [2]: https://stackoverflow.com/a/45029999/30900
> > [3]: https://github.com/bazelbuild/rules_go/blob/master/go/private/go_t=
oolchain.bzl#L95
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48])
by mail-b.sr.ht (Postfix) with ESMTPS id 5DC9611EF4B
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 7 Jan 2022 19:10:47 +0000 (UTC)
Received: by mail-ed1-f48.google.com with SMTP id a18so24731800edj.7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 07 Jan 2022 11:10:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:in-reply-to;
bh=mta6/kgE1u4vhkm5wKRTH7vrhBWpwE4m037Yrcq+h8k=;
b=cwU6fvE8zumy7+kfivo84iJf9gJnFO3+SS8nGqTNtHk63A/mVHWUMjG/8Myof0S1iB
Evq8JKMfHWTlFNHAXQAqisYTJgQcDF/FhutaE0KYfGaoS0jZrASHQVLBzmSqAEL7CMsA
n7arDFnhywBPsYlQYcZJdS6DQQMwk5lOU7NDl3/vMmhCLzztb5pnDMVIHDYIeNuM6JiH
AnGlVvROwU2JHYu/oTZMngfhRr3qe7rAh5UVQDQAPStYvPYUPg3DVJfzlqUjlEq9dNTb
KoOiftL/jkiqgO6Ef9tfl86STF1jl7ovMTrUdfaM92oh2Lrg4mPrd6j9y9I1llGAEBOr
+oIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition:in-reply-to;
bh=mta6/kgE1u4vhkm5wKRTH7vrhBWpwE4m037Yrcq+h8k=;
b=ahwosd6ENKxO3uOYiH1wRIn1v2+tXREtNQzPlkjcsS+a6BJXRgQr8fm+O2nvBbd9ji
a8g1wRrjgeY1W1wuVs+bUKrTxE0u22v5wUxrsJpxT0axtg6v13Q5jXaUyg7tisCWdu0k
B5zvX0LAzL3xkcll3CJ0lpr8B/KR+XZXGFXf5pjN4DYcnf+Wonk71z8h+WfJi6+g1cRP
xfKATpGqBEbvjNHwfN8PFw+kX1PYqHUmWcTcrr2J2iUlg+Qwb/rrdrUD2Tv3z9QRwa3h
w/O8Nxk1xTTf6ClJZ5S94Eb1D2Q2WQAkKNvyjg0/8sv/vWXELsfRed5FFju/KJGy6UHQ
CpNw==
X-Gm-Message-State: AOAM532KdgUfIklM7pNasbPCLx4Uxn6SCjPEQaXH0Xg9ng5RfMU3QrtV
1qD54g4GQcqyGWGiGcrrFc8=
X-Google-Smtp-Source: ABdhPJzfI4GCxLf8Gg1gskwaSfK0xpn5sH/6JMdgodDJX7fdSEAxLasmU6+TAV5+tlW9A8nUGdygPQ==
X-Received: by 2002:a17:907:9808:: with SMTP id ji8mr51547186ejc.665.1641582646132;
Fri, 07 Jan 2022 11:10:46 -0800 (PST)
Received: from localhost (c54-242.i04-14.onvol.net. [84.255.54.242])
by smtp.gmail.com with ESMTPSA id j9sm23919ejg.64.2022.01.07.11.10.44
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 07 Jan 2022 11:10:45 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Fri, 7 Jan 2022 20:10:43 +0100
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: Joe Schafer <joesmoe10@gmail.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: uname -m on M1 MacBook returns arm64
Message-ID: <20220107191043.5tl2jcliuh4ehp74@mtpad.i.jakstys.lt>
References: <CAOGO9CoqMcAp=_9KVB3g9o5Jp45OtcAP7TT_Cn_Gom-YfQ9pew@mail.gmail.com>
<20220104190142.gwu27ru3iprhkyr2@mtpad.i.jakstys.lt>
<CAOGO9Cr=foMi5dX8m_ygVxeX_YVMRU1D=Ex7mTxL9ew_VBpYQA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <CAOGO9Cr=foMi5dX8m_ygVxeX_YVMRU1D=Ex7mTxL9ew_VBpYQA@mail.gmail.com>
On Thu, Jan 06, 2022 at 02:43:28PM -0800, Joe Schafer wrote:
> > If you can dig in for more information why `uname -m` returns arm64 vs
> aarch64 (OSX minor version? something else?)
>
> I think I figured it out. It depends on whether the Bazel binary is an amd64
> or arm64 binary. I installed the amd64 version Bazel first on my team before
> arm64 was available. macOS runs the amd64 binary and propagates the
> architecture down the call chain, including the subshell to uname. I can
> confirm by running uname under x86_64 emulation with:
>
> arch -x86_64 uname -m
> x86_64
>
> So I think this package will not work for an M1 mac running an arm64 version
> of Bazel. I think an internal translation from arm64 to aarch64 is likely the
> easiest approach.
>
> > Is downloading the toolchain the only problem? Once you add that
> workaround, does it keep working as one would expect?
>
> Yep, as long as both the host_platform_sha256 and
> host_platform_include_root dictionaries account for arm64.
Hi Joe, thanks for clarifying!
In that case, I will accept a patch that rewrites the architecture for
OSX from arm64 to aarch64. Please don't extend the dict though, as it
will be duplicate information and thus harder to maintain. Something
along the lines:
arch = `uname -m`
# two sentence explanation (an extract from your email would suffice)
if macos and arch == "arm64"
arch = "aarch64"
... keep going with the `arch` variable.
See https://sr.ht/~motiejus/bazel-zig-cc/#questions-amp-contributions
for how to send the patch. Thanks for your report!
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54])
by mail-b.sr.ht (Postfix) with ESMTPS id 9857111EF33
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 17 Jan 2022 15:11:32 +0000 (UTC)
Received: by mail-lf1-f54.google.com with SMTP id x7so58771527lfu.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 17 Jan 2022 07:11:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=LwNHKhyXvDWWILJKIlSXcX0ihphVZMlQHLLR1EMYlXU=;
b=qEWnJSQXmLoa7O7rrgOAvcO9WFQ2BvtWmA+ZCjxhXSlZOq66HeIAJPBP43FcfahZHj
pbqsSQjVKTIChLryf2wGpOZWTULsaez6ZMzKsE08t3uLr8g/MkeeiQbPT5Wfged8BBjg
1B/WJHerfObEcrxVft3aNArknPktFeXZiDJeySh3y3v2DJsp7yVJndpVfIq3YN0LLXXr
wzSQMLABLurB4GnuTkk3E0BiInNFMCkAjLvwNfLEBLYBSgXcJ+1dpu9H16OQJGUsTb9G
JJ6qOqclLXbTu7Wi//nFlxJEFXE7ZqI9H98nki+o1RA3nsyZtzwHXoCGXqTalXMHfId6
Kdgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=LwNHKhyXvDWWILJKIlSXcX0ihphVZMlQHLLR1EMYlXU=;
b=2YSu1BSyV/wzreFDcWI0y0RlG627clg0N4Ow0DVUajWxO+8kP2Jgmqnl4R2Bc4n0nS
gMRpQ/9mdpUv07Tea7VjmKvdg9OlflrmCP/W1MLKW/Dw56ynt7GEFR8X8EIwsL/lX/RU
71DyAp3Hbs10zM7Qti4C36uy9czFVC2DFKAtAO62y/UsFvntnRtKXmGq4f66VNTjhsVZ
rAixSKwc3Chp+YM5qIBPtdFry4rYu+/f0JR+mMhmHnrRA2fzPOU3WwLVBGvnCllHW9Xq
yGdH8Ij7MuD26ZpIfypZCd34GHGPW/gzUgITt6Pt2Dxfd6+Dx8TxIPFSNscpKRFgaCZj
0Skw==
X-Gm-Message-State: AOAM5332i04xrhpV3v4y8o7ezH1et4Cse/k14KT/IknPaUoLFoApOX7c
tQwofHgBoNfuU9P0tbNgVSzxvjB4CwM=
X-Google-Smtp-Source: ABdhPJzlsEGEQrpYJ8pZKope/CpBPy7mLUnLz2qSCClcr1R1PxGlIMy/Z9NGRoAtS9/FVRoNJHLa6Q==
X-Received: by 2002:a05:6512:a94:: with SMTP id m20mr14846375lfu.546.1642432291016;
Mon, 17 Jan 2022 07:11:31 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id u14sm532440lfc.292.2022.01.17.07.11.30
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Mon, 17 Jan 2022 07:11:30 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Mon, 17 Jan 2022 17:11:29 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.4.0
Message-ID: <20220117151129.kdvzdw3w2dnuaxrj@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
I just released bazel-zig-cc v0.4.0. It is the first release after zig
0.9.0 came out. I didn't cut a release with 0.9.0 due to[1]. Many thanks
Xavier for addressing that one!
This version has no known upstream issues, and, as usual, a few ones[2]
I will be accepting patches to, or will get to myself at some point.
Happy hacking,
Motiejus
[1]: https://github.com/ziglang/zig/issues/10386
[2]: https://git.sr.ht/~motiejus/bazel-zig-cc#known-issues-in-bazel-zig-cc
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177])
by mail-b.sr.ht (Postfix) with ESMTPS id ABA1911EEB5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 26 Jan 2022 05:44:02 +0000 (UTC)
Received: by mail-lj1-f177.google.com with SMTP id c15so14139217ljf.11
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 25 Jan 2022 21:44:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=ZPIE+T8JZChmC3IzGFrcmvVvO2ND70BBO5FF9GExK5Q=;
b=HTwHTDZX/I7CSkd0ZpQuKHqBc5aAjlYedJVaOjGL6wCgeX4F5Zwsq8HQtStMYNq1mG
OFHCaVkzvGAOyLNfArV0sXlrwHAUT1846q/jGURV1HJA7EGz4iMz0jMu/416FIiD55Td
SWlVLhn2gb2/FRBGE00k2uAYfFSaW2iQ/XkJW7cQ+0oIVvcGfoaxA1Vk45kneGri0Vkg
XZIa9J6D54SMxSIl2wsuWybMnWEgbL2jWUmvcZGpSrP1+kINzaYiPxXD8lyt5Doir4oy
ppc3QF+6AMLOIy4pPRKdsdw7xb8iC6pZBiFyolxV5ebccWcr7Vj5NhtC8853QXF/Q7n7
1FTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=ZPIE+T8JZChmC3IzGFrcmvVvO2ND70BBO5FF9GExK5Q=;
b=ebv8j2lQilm9IeIqajKQamk9SlFu0Erv0015fMchG4uPf+v3FIGDWbWwK52Mbprpjv
6Qcdj9y8uiD4qyG/HkZAjczQV7O+vwn+Q+nQB9jrSd/2D/1b02bOIXhVahFqCvZLYV8o
9PBrFVxpQ/UKjO+Jxmd8rxxpihhOxqdC6f8eT3MdjHRVt16oZUWxosvU/eWXBbDyvnLr
cML31Xm+HK5ZiPAi7raNpKYEpb0t/bAY+wm+R2mipl0CM9sW+I3yzXZGpVMsytqbaLOs
32znAYlz06L9ryeqo3tONEP6dxGoeRtAnADHhr1XK7b9ArsOIRxjTAXLpaPXpnjLt54J
r1bA==
X-Gm-Message-State: AOAM530GrI6qZZJctG4jJt/0OZ7XNlMN4GT4RfjHMZcRSB8ljHV31/Ns
WgSHFIZyjzgIUPwISqIAzBPSzJtpC+w=
X-Google-Smtp-Source: ABdhPJxus+2x3ziq6MGKHqA4hJMsMQAFXfVHMhG8j4pNQ2iT970HgmsFoP+8MjiP6ZeAHPsO0POZyA==
X-Received: by 2002:a2e:6e0e:: with SMTP id j14mr4657369ljc.510.1643175838877;
Tue, 25 Jan 2022 21:43:58 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id q12sm1419957ljh.16.2022.01.25.21.43.57
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Tue, 25 Jan 2022 21:43:58 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Wed, 26 Jan 2022 07:43:57 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.4.1 and envoy PoC
Message-ID: <20220126054357.h5jxh7jtg75k3g57@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
I cut bazel-zig-cc v0.4.1, which upgrades zig to
0.10.0-dev.399+366c76744. Notably, it implements the following linker
args:
* --whole-archive, -whole-archive
* --no-whole-archive, -no-whole-archive
* -s, --strip-all
* -S, --strip-debug
... which were surfaced by Envoy trying out bazel-zig-cc[1].
I also renewed my gpg key (just updated the expiry date, keys are
unchanged), which you can find in today [2]. For some inexplicable
reason I keep signing my releases.
Regards,
Motiejus
[1]: https://github.com/envoyproxy/envoy/issues/19535
[2]: https://jakstys.lt/mtpad/gpg.txt
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44])
by mail-b.sr.ht (Postfix) with ESMTPS id 3C7CC11EFBD
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 27 Jan 2022 09:15:33 +0000 (UTC)
Received: by mail-pj1-f44.google.com with SMTP id b1-20020a17090a990100b001b14bd47532so2351913pjp.0
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 27 Jan 2022 01:15:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=l2IL1hDG/wSYO+PblgmPSfkqj7PPv5mJfn293Xgw73s=;
b=GgAXrKlG1tG2EbkFA/s7+RvEyH0tbRU06xQHi4/grJr5t34fiCntHOtuOGEM9/Ry8V
FZio35kw0jk5pr4bujR5di/jGk4UBBg+z/pGti9Pj69dk2Ea24alcNokiuzkbfHJ0PYC
9TYcgC/A08g3CyWJJ0A7HwKagKXKjnC7k7XaWkywSn/FDoCwfhHZzsSnu0B3ZxNFEC+R
hjqnERKrAU/urSTBamqChs9Q4zdn1cWPl7qnHMW/7o6z048YVGJP48azpBwhPFxQqWui
TOri7Fxg3/6BrNsa0MMOr4tcgzlHVPtlbArKBj3f4ftd3tQVN0qga1ZLK+MxQAm3LSrX
76EA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=l2IL1hDG/wSYO+PblgmPSfkqj7PPv5mJfn293Xgw73s=;
b=7XviGnEKKaxoby6FvKmwDoejO/LGWTy4Z4FR4GZbuAAXW6tihvwnDbUy2YfYjDgGzE
3WE5kBPnibuTJklRKvnwoEmqHvTfIWb45rmoxK7niJ6+VNbsxwAvai7Y/jyNTq96cKCo
d/Gfc8RQeqG8O/p4jT8pYSnk7UGfRwvBirSfxWkcgGn06hEZGZOrsAk6FY2yRQpRCdav
0lOs91QBS/k2hG5SBt4kERGN5xPhshWbCB8jSPT+xpQxV4yWR3l8Q4IOuGrMZRk5xi68
QAtjXozIKl6SikjDF0V5/QOyqfNhxTAIUbP/TrA7cnZM+n3qGzGWASewO+Pv8kY0sxov
emmQ==
X-Gm-Message-State: AOAM531u9gQGl0U6kPxkXMkmxs6zxWCAblpRS977LnnylyyVQwSByswN
6OncviD3c0m1pTAzONn7y/whSWkygZ8=
X-Google-Smtp-Source: ABdhPJwylL0/y/L7pD9UsX5ejQIsUCE84DECwz3l+joFVSHQGXR3t35Btz/+0h4nVB/tBBoPWDiNqw==
X-Received: by 2002:a17:902:c403:: with SMTP id k3mr1966059plk.117.1643274930940;
Thu, 27 Jan 2022 01:15:30 -0800 (PST)
Received: from localhost (88-119-96-125.static.zebra.lt. [88.119.96.125])
by smtp.gmail.com with ESMTPSA id ip4sm2056750pjb.8.2022.01.27.01.15.29
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 27 Jan 2022 01:15:30 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Thu, 27 Jan 2022 11:15:27 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.4.2
Message-ID: <20220127091527.oe53s3gm75354rdm@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
I cut bazel-zig-cc v0.4.2, which upgrades zig to
0.10.0-dev.430+35423b005. Notable changes:
- fix linux kernel's aarch64 include paths, use stable kernel for
headers[1].
- implement --hash-style linker parameter[2].
I am working on aarch64 at my dayjob, which resulted in (1). The latter
was surfaced in envoy's ongoing investigation into zig-cc and
bazel-zig-cc[3].
Motiejus
[1]: https://github.com/ziglang/zig/pull/10699
[2]: https://github.com/ziglang/zig/commit/40c9ce2caf8f
[3]: https://github.com/envoyproxy/envoy/issues/19535
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41])
by mail-b.sr.ht (Postfix) with ESMTPS id 7F1CF11EEDD
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 2 Feb 2022 13:32:17 +0000 (UTC)
Received: by mail-lf1-f41.google.com with SMTP id u14so40638261lfo.11
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 02 Feb 2022 05:32:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=CaNfsprl7AZ0nZjlw9C6IbI2Leuo8/M+n+R0iuzS+cY=;
b=L+7CoNGpEND6STivveZtxm5V2vE3pCeLaBKHvJvsFUh/x8n3BIVoiA/AG5o27MG0xF
4X1ikzp9eYLAFRK3ISIaZ5aYwbBwhU+noXuWqK/JRPmbLsj1rbPMefVWSfBRKud/aVhW
sKBrU0KwOstAnh9kajQEBR1oUhn9GN7rUok1WEl9zximfVVL+3dMbOP9Ry0oNauYRQQw
wJjL3/zlMlqaRSzhOMDMQNdXK0XXj5BdhIq6LYHG1lqTYc8Sm6ulBVY/Mc91nk2f7VMT
4REW+8p5rXDtATKuezmsM3ooxBxa6PR69aMn635w8M6YQQOyV0f/aNdW5Nc9xExoEOdM
nQNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=CaNfsprl7AZ0nZjlw9C6IbI2Leuo8/M+n+R0iuzS+cY=;
b=c3+2Uvi12fzwT/Rdf21yrUu9zQry0vHZp1+IUOk3uFtE3SrceACYFbKqLuORdpfAno
3Noa/4kRkCLchOI0B8+mzMwzk2uTpxBqT+X2DPcz0c0t34p/yd0EkVjDZUr/iKHeVzh9
UULn/HOYm1dYyJhauFiMBmIuzuVkUx3Wt29XMBufKuoJgKWA0271BbYqC42XCf5yCk5a
OeLvnTPdRh6yGurvPcB30bpmQtUX8PWBDCACiq4qBU7Lf8mbbTbHmONyjRWw2g6+C1Gr
yekWw8zjayekGtAEwyFn1Ve0WN4hQYXkR2yF7+HhcSu2UmTIKbSXhUyKjTuLxbgsdjeG
owUg==
X-Gm-Message-State: AOAM530ewLoLRvtGBos0lqYEAwwXrUfGvqfLBiIlO/6HSSC26FgXyiRn
XeVc1bRmFHku4DlppyKu9rZIQ6i+qFQ=
X-Google-Smtp-Source: ABdhPJwEoIgMEhpBLz+ai9v9eSwdLa6kW5PAcKQK+5jQByExX2Rh1+OBULJPudgaVVKKSEwwEeb7Yg==
X-Received: by 2002:a05:6512:ac6:: with SMTP id n6mr22945258lfu.322.1643808734872;
Wed, 02 Feb 2022 05:32:14 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id u12sm3672275lfm.308.2022.02.02.05.32.14
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 02 Feb 2022 05:32:14 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Wed, 2 Feb 2022 15:32:13 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.4.3
Message-ID: <20220202133213.g6c66zwont7qyrr4@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
I released v0.4.3. It only zig, which fixes[1] `--hash-style` and
`--whole-archive`. The README was also updated following some users'
questions[2]. "The starlark" remains the same.
At some point I will not be releasing new versions of bazel-zig-cc when
*only* zig is updated; at that point, you will need to download zig
provide it to bazel-zig-cc. Something akin to [3].
Motiejus
[1]:
https://github.com/envoyproxy/envoy/issues/19535#issuecomment-1024533163
[2]:
https://github.com/envoyproxy/envoy/issues/19535#issuecomment-1026111822
[3]: https://github.com/grailbio/bazel-toolchain#quickstart
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 6C8BC11EFDA
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 4 Feb 2022 11:56:02 +0000 (UTC)
Received: by mail-lj1-f182.google.com with SMTP id c7so8094148ljr.13
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 04 Feb 2022 03:56:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=FKPxTpAiSiY0k9tKJOGQ14KTAR6pM4E7CD61F5+ZIZg=;
b=Q71lKWPQHHD7J7ZIiQyw9CPA/wvS6GzZN3HjrOD58SK/g6CFpfHwBFeDGLyI7QlD2x
LaHTPfJ8QGMtubI9dhFzTxBLJGUPqk7JTKDWHWe8Hwu5UY2ngDc6GnoDmf2t+98vhwiT
iZQdCzUYq3k5Od7kSi7J3MEIuuIvUNa2nDvRKCgbeCGZGenFzJ06aH64Ht6GfX2PbAaK
xTPWCY8/G83aRCiCC/diLatM4RCUTDkI254mcJ55/xJJ/DvmM2cmrxvRRBldly/jZmeF
gh2ZVz84Hik8v29pmbHh7fV4XHXLpMyCARe249KGIFmdDb5WFF8rKtubb7X0Jl/Uv5ML
Bnng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=FKPxTpAiSiY0k9tKJOGQ14KTAR6pM4E7CD61F5+ZIZg=;
b=q3seF01i5nl0FcHfaPDeGtBzJUeuUhZdYawh3fvAOimJmUKLkjTZZZmiyHfkn9hbvr
UXcHcXizu0+QLPwb+z2gIOeO5zQdjOSV6+2SnNvrNWwFxpN2t5teCqsUJtTr2G9n5pXl
YdNRtCZUSQjOvOsGhH0Ncv4H8wHBnchGzT8HT+K39tsSrjsPwVVFNmzQdcLYGc9O48ae
3yLJ1FB41qiFX8M/PRc32aeIDxRYhTCoD4i5AoGJ6CkvtZtQtcbg7n+d9SRy9d0FyGXL
f4hdYavfhxiCLljcS0VmJskiJ58aFbPkRvKcJP9N2tafMSaS85x7MbSPVWFjn1N11hW6
elsw==
X-Gm-Message-State: AOAM533rCo1xV4yuik3hvvB17GySt46j8+KS4cEhKTHoJeQ3kgaV7vjH
9FzcGJK4wJetxV5cFR4BPKwpb9Azuzo=
X-Google-Smtp-Source: ABdhPJz+wWN6uIoFx23yDrPATpG+aJ1LdP/b1iN2zD70pcef7VbGScFaG0UPhS8LtIkUtd4JBKfoGw==
X-Received: by 2002:a2e:b8c7:: with SMTP id s7mr1606227ljp.118.1643975759407;
Fri, 04 Feb 2022 03:55:59 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id bu32sm280744lfb.287.2022.02.04.03.55.58
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 04 Feb 2022 03:55:58 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Fri, 4 Feb 2022 13:55:57 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel test under qemu-aarch64: help needed
Message-ID: <20220204115557.dhs7gvnyk3bapyja@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi folks,
I spent a good day trying to figure this out, I need help enabling tests
for aarch64.
Goal: run `bazel test //test/...` for 2 architectures: amd64 and arm64.
Arm64 would be executed under qemu-aarch64.
This works on my laptop (amd64/buster):
git clone https://git.sr.ht/~motiejus/bazel-zig-cc -b qemu
cd bazel-zig-cc; direnv allow .
bazel test --run_under=qemu-aarch64 \
--platforms @zig_sdk//:linux_arm64_platform \
--extra_toolchains @zig_sdk//:linux_arm64_musl_toolchain \
//test/go:go_test
Fails[1] on builds.sr.ht, which is also buster/amd64.
2022/02/04 09:21:03 fork/exec /home/<...>/go_test: exec format error
However, when executed directly via qemu-aarch64 on the given CI
machine, it works:
build@build:~/bazel-zig-cc$ qemu-aarch64 /<...>/go_test
PASS
build@build:~/bazel-zig-cc$
strace, investigating the bazel's sandboxing (I suspected this may be
caused by linux-sandbox-pid1.cc) didn't reveal anything. Any pointers?
Thanks,
Motiejus
[1]: https://builds.sr.ht/~motiejus/job/687819
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54])
by mail-b.sr.ht (Postfix) with ESMTPS id DFEC611F2DA
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 5 Feb 2022 04:55:32 +0000 (UTC)
Received: by mail-lf1-f54.google.com with SMTP id u6so16394869lfm.10
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 04 Feb 2022 20:55:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:references:mime-version
:content-disposition:content-transfer-encoding:in-reply-to;
bh=XKOR1hOp9WbzmRujEKM5M3zyyBvcZgTOpIPrU4XXc20=;
b=KwIUKAX2O9OUNMyVWbwGDD75T/hCnF8WJgURSnnJ7LcHZiHyPh3LUzdxrovVHj70GS
ZgMP25hwmgDJlexldlQ5goH7XRn/EwV+viynlbq/8W3X4Zi8r2FpH0Waa4ds/g0uLJri
Xhchxy8fX8h6JKX8faOOwrTmsYrQ20oOAqxfrFfa0Fsfdy5f9JRviCmRdqcb4gyvHw5P
3JvIvyaGmL95RlR4mL5iQfKXB5pewagGtOKSf4zuqUgcyyKfP7HIHA7bOPXweyJsFJ6F
KsfSuztCsYO0jA5PAGv5VZqS3L8nZUdDWgNRsyxSA85zaLH98zDrn1w7uveQ9Oycp7/D
QdYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:references:mime-version:content-disposition
:content-transfer-encoding:in-reply-to;
bh=XKOR1hOp9WbzmRujEKM5M3zyyBvcZgTOpIPrU4XXc20=;
b=pDyTgKvM5oVBXYVcmDAHVYBF6u69uAleBhZXMtxTABp6jGMbdX0oFv5SD5Z+AQTyuq
Qoz2/iX0A1erkQ3JTejCG5zjYIOYqbh7MvgOtAM+sgzS9xk3ASfbTCYtf3lemN4ZjBN0
R9nt+huX7vqqIDmFhBVf6UaQ3nFHu7c5HiBSIhEGE7Ck6KTQQYAXCFM2QCo68Ez3AeHF
uFaHgYZBQSvY5Dpr1/8nHd9yzKPVdipni3gErD600QTHwRZ1KTW0evKmhBcmwuPoiOVz
cKUOZzOKZM1fLL2S84Q0kSNyoqRDv9kfAP6Xg8jdkacdnNVzYdi7R/v8nKH8pUjiXX7y
lXnQ==
X-Gm-Message-State: AOAM530784Z7OOYq/FydPztz1MiT4dtQ4Hr+v++1DfRT3rqwoYRlw/3V
RWN1qZX3Aunatwrf1e6RtRU6UnxfiRI=
X-Google-Smtp-Source: ABdhPJxJ0QD5Cq/QWw3sHoVTecWwIu9kamdfu4rahFH5eT2GWNJIdzr+y76ReriZ2P0sWLeLjCDvoQ==
X-Received: by 2002:a05:6512:4014:: with SMTP id br20mr1577156lfb.217.1644036931198;
Fri, 04 Feb 2022 20:55:31 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id z27sm577500lfg.31.2022.02.04.20.55.30
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 04 Feb 2022 20:55:30 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Sat, 5 Feb 2022 06:55:29 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: bazel test under qemu-aarch64: help needed
Message-ID: <20220205045529.c4quz7koyncgfqiz@mtpad.i.jakstys.lt>
References: <20220204115557.dhs7gvnyk3bapyja@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220204115557.dhs7gvnyk3bapyja@mtpad.i.jakstys.lt>
On Fri, Feb 04, 2022 at 01:55:57PM +0200, Motiejus Jakštys wrote:
> Hi folks,
>
> I spent a good day trying to figure this out, I need help enabling tests
> for aarch64.
Hi all,
Piotr Sikora replied out-of-band[1]. Two things needed to be changed:
1. Install binfmt-support. That registers qemu handlers to binfmt.
2. use qemu-aarch64-static instead of the shared version.
... and now we run all unit tests on both amd64 and arm64, and the test
runner[2] is less ugly.
Motiejus
[1]:
https://github.com/PiotrSikora/bazel-zig-cc/commit/10101bf7f11ff404e66f582bbb64a3a875f8e45f#commitcomment-66048081
[2]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/main/item/ci/test
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48])
by mail-b.sr.ht (Postfix) with ESMTPS id 4707611F2DA
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 5 Feb 2022 05:06:31 +0000 (UTC)
Received: by mail-lf1-f48.google.com with SMTP id x23so16612445lfc.0
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 04 Feb 2022 21:06:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=YqUW7x3rsx9mzzxrNShByRFQQHaM25RXdnjFURhRiTc=;
b=aUMZbJhDNBCB6wVPI8VBaPiGorrlY2MGcHpyX5chxJEWcdl0gWmAFL5V55Vcor0E4i
VhdChdEOXTHAxFrvDOIABVrpnZp/XrToQa1dqphOLjelmVAbyu6XI0XNgy3uXJ94kHec
APDqE0WpflKzbmggrrU+85yjh/jmEW6XuLJ054dkkf8K6grBNlRi5KBQyfqfwAwuJLT6
FciVpP5r8QQ7hBCtdEUw36s/flZNMRAxvdoBnLUUNjAndU73JZwy5WyCZ6YepAIiFwpl
3m3oYcX1A7AOPI/OntxO9KYqR39DGEkfbURn8nmAYccrvY3Iw1X8yC3aTU1t7F7HP8U8
Hlnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=YqUW7x3rsx9mzzxrNShByRFQQHaM25RXdnjFURhRiTc=;
b=eobDiXZbHrULR7IVzjffjOMSIRbBOjGpoBNcmRjZOxXm1LKQ+75fa/gO3+fKG6WaZs
jIk77c+LTLCETXGTNwQ5mb/9n7dpCOv5M0qydN6cw2yUe49i+ooJ6CHg1ZFVMeHD+QA2
6+TnYvY2N1qsicSfaoPvHW249jbWHjvro5KKuMh+QBgwibXmo0LvICQCjA0U8dJ7adBZ
7QHOJiBPxc2kmN0jk8SUL5oi3+2lawi58Enas2XwGwk+gpwtUUsp6F6BZ/5JuuvuDs3G
YSSyCmt5a3CJmvZ2dCm6e8gAJF0fk1/Us4fZ1GWjp54QhQfi45xXgv+87tuqAK0jFn0X
EGAA==
X-Gm-Message-State: AOAM530HYBE3U1cQ8IVpBmUBM25gs3Cl/xw++l9knhpUQUCYWIUIpy3Z
pUMy1q0uu3uLFLCkwRdyd7Y6BsnaXg8=
X-Google-Smtp-Source: ABdhPJzfulESjC6wntPstFC25e8xaYDPKQen6k5HrvMwq6aQsB65WuJBlVzadqsNnwNGQNv6hu9BvA==
X-Received: by 2002:ac2:43ae:: with SMTP id t14mr1493698lfl.599.1644037590060;
Fri, 04 Feb 2022 21:06:30 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id be20sm524965ljb.105.2022.02.04.21.06.29
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 04 Feb 2022 21:06:29 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Sat, 5 Feb 2022 07:06:28 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.4.4 and upcoming zig 0.9.1
Message-ID: <20220205050628.3m6ewpkxnvqngcqw@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
bazel-zig-cc v0.4.4 is out. Major changes:
- register "bazel platforms" @zig_sdk//:<os>_<arch>_platform. Example
`--platform @zig_sdk//:linux_amd64_platform`. Note that this is in the
wrong place[1] and is likely to be changed.
- Tests are now executed[2] with `bazel test //test/...` on amd64
(natively) and arm64 (via qemu-aarch64-static). You are enocouraged to
add your own tests if you would like me to catch issues for you before
bumping zig-cc.
- I did NOT upgrade zig, it's the same as in v0.4.3.
Zig's maintainer Andrew asked me to test the 0.9.x release branch before
he does a zig 0.9.1 release. So if you care for zig not breaking
something before the release, but that doesn't really fit into zig's
test suite, a test in test/ may be a good place.
Motiejus
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/v0.4.4/item/README.md#toolchain-and-platform-target-locations
[2]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/v0.4.4/item/ci/test
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 2D5CC11F033;
Thu, 10 Feb 2022 23:32:58 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 10 Feb 2022 23:32:57 +0000
Subject: [PATCH bazel-zig-cc 0/3] Support ARM64 Mac
MIME-Version: 1.0
Message-ID: <164453597791.17553.15415322179801626658-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <accounts@kmicklas.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
With this I'm able to build a simple `cc_library` target on an M1.
Ken Micklas (3):
Fix darwin arm64 case in .envrc for loading bazel
Interpret arm64 output from uname as aarch64 on mac OS
Fix and adjust darwin libc header paths depending on CPU
.envrc | 2 +-
toolchain/defs.bzl | 21 +++++++++++++--------
2 files changed, 14 insertions(+), 9 deletions(-)
--
2.32.0
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 5AB6311F0C1;
Thu, 10 Feb 2022 23:32:58 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 10 Feb 2022 18:20:56 -0500
Subject:
[PATCH bazel-zig-cc 1/3] Fix darwin arm64 case in .envrc for loading bazel
Message-ID: <164453597791.17553.15415322179801626658-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <accounts@kmicklas.com>
In-Reply-To: <164453597791.17553.15415322179801626658-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
.envrc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.envrc b/.envrc
index 802d197..2b1d835 100644
--- a/.envrc
+++ b/.envrc
@@ -17,7 +17,7 @@ case "$(uname | tr A-Z a-z)-$(uname -m)" in
bzl=3D$(direnv fetchurl "${_u}linux-arm64" sha256-wd5oYN1PjV4uwnAJe9=
RtaiEblxoLizhVl4S9BR6pUKE=3D);;
darwin-x86_64)
bzl=3D$(direnv fetchurl "${_u}darwin-amd64" sha256-5IW7+EUy0CpgsOsjx=
wJhC1QI3zoZkIek8rXgmVu/LVo=3D);;
- darwin-aarch64)
+ darwin-arm64)
bzl=3D$(direnv fetchurl "${_u}darwin-arm64" sha256-wi1IYBRm2dOwQ8zXQ=
FHy9CMPm59FCfCXAXyXMDqojRM=3D);;
*)
>&2 echo "unsupported architecture tuple $(uname | tr A-Z a-z)-$(una=
me -m)"
--=20
2.32.0
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 7571711F0C9;
Thu, 10 Feb 2022 23:32:58 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 10 Feb 2022 18:22:37 -0500
Subject: [PATCH bazel-zig-cc 2/3] Interpret arm64 output from uname as aarch64
on mac OS
Message-ID: <164453597791.17553.15415322179801626658-2@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <accounts@kmicklas.com>
In-Reply-To: <164453597791.17553.15415322179801626658-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
toolchain/defs.bzl | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 693e2da..2b572d3 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -222,12 +222,15 @@ def _zig_repository_impl(repository_ctx):
res =3D repository_ctx.execute(["uname", "-m"])
if res.return_code !=3D 0:
fail("failed to run uname -m")
- uname =3D res.stdout.strip()
+ arch =3D res.stdout.strip()
=20
+ os =3D "linux"
if repository_ctx.os.name.lower().startswith("mac os"):
- host_platform =3D "macos-{}".format(uname)
- else:
- host_platform =3D "linux-{}".format(uname)
+ os =3D "macos"
+ if arch =3D=3D "arm64":
+ # uname -m reports arm64 on an M1 Mac.
+ arch =3D "aarch64"
+ host_platform =3D "{}-{}".format(os, arch)
=20
zig_include_root =3D repository_ctx.attr.host_platform_include_root[host=
_platform]
zig_sha256 =3D repository_ctx.attr.host_platform_sha256[host_platform]
--=20
2.32.0
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 93FE611F189;
Thu, 10 Feb 2022 23:32:58 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 10 Feb 2022 18:24:21 -0500
Subject: [PATCH bazel-zig-cc 3/3] Fix and adjust darwin libc header paths
depending on CPU
Message-ID: <164453597791.17553.15415322179801626658-3@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <accounts@kmicklas.com>
In-Reply-To: <164453597791.17553.15415322179801626658-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
toolchain/defs.bzl | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 2b572d3..8ed93c7 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -54,15 +54,17 @@ _GLIBCS = [
]
def _target_darwin(gocpu, zigcpu):
+ min_os = "10"
+ if zigcpu == "aarch64":
+ min_os = "11"
return struct(
gotarget = "darwin_{}".format(gocpu),
zigtarget = "{}-macos-gnu".format(zigcpu),
includes = [
"libunwind/include",
- # FIXME: add macos.10, macos.11 and macos.12 targets,
- # and adjust the includes
- "libc/include/{}-macos.10-gnu".format(zigcpu),
- "libc/include/{}-macos-any".format(zigcpu),
+ # TODO: Define a toolchain for each minimum OS version
+ "libc/include/{}-macos.{}-gnu".format(zigcpu, min_os),
+ "libc/include/any-macos.{}-any".format(min_os),
"libc/include/any-macos-any",
],
linkopts = [],
--
2.32.0
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=iFZPni2s8+PUNzy+zRMfM/84OlUZYNc44+op1j+85vU=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1644536758; v=1;
b=nwchpQbJskdTrW86U+nIYMXtY5qtrAAQ1PmhQMEU2DRVR6LyoUWQ0m/XoKSOakS2QYNAtKFG
eH7jqHuViZjuINpv4NscE+l+u238PRAf5qTMiusugMOetvvlzw6n25oPckO9bs5/2kidDkRiuVF
ZbDyp/L4+98ACknuwLr9+kOd1QZjU34L6S81GkOKE23jKHNnLT+wAmyDq2KS91EQUk4rGPuCTuK
0NnT9gJrEx3ytD5iyb7eyjtcupQBHTqbEDUpPpW7pc0QsvgTOobiv1rK7K6dwcSGBT1Kx6pml3V
eMidvLC1gkLkL0Tx+2371PVoanmuBKJ+Jy/uN43X1NFlA==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 6539E11F033;
Thu, 10 Feb 2022 23:45:58 +0000 (UTC)
MIME-Version: 1.0
Date: Thu, 10 Feb 2022 23:45:58 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CHSRML2SAOY5.1NQDDWU9LNOYA@cirno>
In-Reply-To: <164453597791.17553.15415322179801626658-3@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~kmicklas" <accounts@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 12m57s
[Support ARM64 Mac][0] from [~kmicklas][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/29276
[1]: mailto:accounts@kmicklas.com
=E2=9C=93 #693103 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/693103
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171])
by mail-b.sr.ht (Postfix) with ESMTPS id 1A0A511F006
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 11 Feb 2022 04:34:02 +0000 (UTC)
Received: by mail-lj1-f171.google.com with SMTP id z20so10896707ljo.6
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 10 Feb 2022 20:34:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:in-reply-to;
bh=uNKHiAfOE1XXriWNUtxZO2RyASkqd7Sf7RgJXzrnxZw=;
b=bG/yg7+8EDr7XPFG5C4Pi9CaXTtY36Ndidvr6aaLEQxdc9Vk7OXjhkIsS2e3AhkmqO
QMAT8Yluz5r1VpQ+/5UWk0DfRWbEI9Q7KMPS1NkkgFmbzNljLdfs8HuV1JsbjAqbDixn
beA4+J1vxNy5nj0eeP70+TaPC5G+W7Rrzr7dPDa/ZY4ey3Itx3kHDZA7b5BTTVYeSNrB
bNcvS+x5mpTYFaacqYSuS7pZfiF1JhC9LjOeE5mQjpVztRWPAeJJKh0tdx0/2q3zf/Kb
iecc2tcaMmUerc78LmogJ4QPBlUEapaew8FQe1k12N7UNQ0blQP3SLVRf1eelSQUyF/v
jUXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition:in-reply-to;
bh=uNKHiAfOE1XXriWNUtxZO2RyASkqd7Sf7RgJXzrnxZw=;
b=3kpFIibEGFkECokJqdQej4nn8+cg4yeLhxFMgU4/IxcQaxTcpkeBGU7zh3jl6KQJTa
WOn9lYlWNzZXGJtjAajDqELCqMFiTAJLPU16OE43QKNVzhhr5aLpIUoTp6b1AFtRYTTZ
VmXLnMBsP+0AE1GaksMzm6f6wjlsUWz++hY0NcX5qKdPUogbXFQu5KzWUJDejB4sROeo
l7pPb8MvLRg7sTjhRfzMffL96sIqtjXAK6o9wHAyExWH5RjQhOTXnJk8BJ2iOezNVsmw
mnybyeSrIoHnl8PEovLDriZFgWJpgpmqTd0Vj82UH/50LZK+PbKEVjaGBMf7/1B8Lw6Y
w+wA==
X-Gm-Message-State: AOAM533jR9y8KlycSsOOu2CgJ8L5yL5a869ALofm8kSQ6tSwqAa+YvAO
VTpASzqriQCJEvn/7j0F+1I=
X-Google-Smtp-Source: ABdhPJybI1W3A3/4xVRPIq7fWV8haq5HpYKCBiFGcgS9/uhSDBKHjInW6LLK6a75vfURGLbrb1KjUw==
X-Received: by 2002:a2e:b047:: with SMTP id d7mr7118977ljl.359.1644554038457;
Thu, 10 Feb 2022 20:33:58 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id l1sm2988565lfh.151.2022.02.10.20.33.57
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 10 Feb 2022 20:33:57 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Fri, 11 Feb 2022 06:33:56 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~kmicklas <accounts@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, kmicklas@uber.com,
joesmoe10@gmail.com
Subject: Re: [PATCH bazel-zig-cc 0/3] Support ARM64 Mac
Message-ID: <20220211043356.xgchjv34q246kxa3@mtpad.i.jakstys.lt>
References: <164453597791.17553.15415322179801626658-0@git.sr.ht>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <164453597791.17553.15415322179801626658-0@git.sr.ht>
On Thu, Feb 10, 2022 at 11:32:57PM +0000, ~kmicklas wrote:
> With this I'm able to build a simple `cc_library` target on an M1.
>
> Ken Micklas (3):
> Fix darwin arm64 case in .envrc for loading bazel
> Interpret arm64 output from uname as aarch64 on mac OS
> Fix and adjust darwin libc header paths depending on CPU
Thank you. Applied all 3 patches and tagged v0.4.5.
cc Joe, who had problems with M1 before. These are now fixed.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 5024911EF37;
Thu, 17 Mar 2022 20:04:30 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 17 Mar 2022 20:04:29 +0000
Subject: [PATCH bazel-zig-cc 0/3] Download improvments
MIME-Version: 1.0
Message-ID: <164754746999.13783.11303815672892555536-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
This adds support for netrc and multiple download mirrors.
Ken Micklas (3):
Pull default SHA256s into constant and don't update
Support multiple URL formats
Support netrc for Zig SDK download
toolchain/defs.bzl | 66 +++++++++++++++++++++++++++++++++++-----------
1 file changed, 50 insertions(+), 16 deletions(-)
--
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 7FAB111EF43;
Thu, 17 Mar 2022 20:04:30 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 17 Mar 2022 15:11:17 -0400
Subject:
[PATCH bazel-zig-cc 1/3] Pull default SHA256s into constant and don't update
Message-ID: <164754746999.13783.11303815672892555536-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
In-Reply-To: <164754746999.13783.11303815672892555536-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
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.
---
toolchain/defs.bzl | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 8ed93c7..f942c5b 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -158,29 +158,28 @@ _URL_FORMAT_JAKSTYS =3D "https://dl.jakstys.lt/zig/zig-=
{host_platform}-{version}.t
=20
_VERSION =3D "0.10.0-dev.513+029844210"
=20
+_HOST_PLATFORM_SHA256 =3D {
+ "linux-aarch64": "fc0b929948d57d1b15aaac33db0cd136a1f79830926c9285fd3f5b=
6445f1ef95",
+ "linux-x86_64": "c6f323b02b0bcf7b18143983bf2525640dd541f39af661e963823c9=
a61a09b28",
+ "macos-aarch64": "0ccd8dad1264474ca824d45c3021b7e549b67792fa1a66cb9d4d70=
40775319bb",
+ "macos-x86_64": "3c939bebe8648c277ee66d1c600e68576e382d0309dc29eb4c32aba=
96b83f6f0",
+}
+
def register_toolchains(
register =3D [],
version =3D _VERSION,
url_format =3D _URL_FORMAT_JAKSTYS,
- host_platform_sha256 =3D {}):
+ host_platform_sha256 =3D _HOST_PLATFORM_SHA256):
"""
Download zig toolchain and register some.
@param register registers the given toolchains to the system using
native.register_toolchains(). See README for possible choices.
"""
- sha256s =3D {
- "linux-aarch64": "fc0b929948d57d1b15aaac33db0cd136a1f79830926c9285fd=
3f5b6445f1ef95",
- "linux-x86_64": "c6f323b02b0bcf7b18143983bf2525640dd541f39af661e9638=
23c9a61a09b28",
- "macos-aarch64": "0ccd8dad1264474ca824d45c3021b7e549b67792fa1a66cb9d=
4d7040775319bb",
- "macos-x86_64": "3c939bebe8648c277ee66d1c600e68576e382d0309dc29eb4c3=
2aba96b83f6f0",
- }
- sha256s.update(host_platform_sha256)
-
zig_repository(
name =3D "zig_sdk",
version =3D version,
url_format =3D url_format,
- host_platform_sha256 =3D sha256s,
+ host_platform_sha256 =3D host_platform_sha256,
host_platform_include_root =3D {
"linux-aarch64": "lib/",
"linux-x86_64": "lib/",
--=20
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id AFC4C11EF44;
Thu, 17 Mar 2022 20:04:30 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 17 Mar 2022 15:39:41 -0400
Subject: [PATCH bazel-zig-cc 2/3] Support multiple URL formats
Message-ID: <164754746999.13783.11303815672892555536-2@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
In-Reply-To: <164754746999.13783.11303815672892555536-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
toolchain/defs.bzl | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index f942c5b..f883cc2 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -168,7 +168,8 @@ _HOST_PLATFORM_SHA256 =3D {
def register_toolchains(
register =3D [],
version =3D _VERSION,
- url_format =3D _URL_FORMAT_JAKSTYS,
+ url_format =3D [_URL_FORMAT_JAKSTYS],
+ url_formats =3D [],
host_platform_sha256 =3D _HOST_PLATFORM_SHA256):
"""
Download zig toolchain and register some.
@@ -178,7 +179,8 @@ def register_toolchains(
zig_repository(
name =3D "zig_sdk",
version =3D version,
- url_format =3D url_format,
+ url_format =3D url_format if type(url_format) =3D=3D type("") else N=
one,
+ url_formats =3D url_format if type(url_format) =3D=3D type([""]) els=
e None,
host_platform_sha256 =3D host_platform_sha256,
host_platform_include_root =3D {
"linux-aarch64": "lib/",
@@ -239,10 +241,17 @@ def _zig_repository_impl(repository_ctx):
"version": repository_ctx.attr.version,
"host_platform": host_platform,
}
- zig_url =3D repository_ctx.attr.url_format.format(**format_vars)
+
+ url_format =3D repository_ctx.attr.url_format
+ url_formats =3D repository_ctx.attr.url_formats
+
+ if len(url_formats) =3D=3D 0:
+ url_formats =3D [url_format]
+ elif url_format !=3D "":
+ fail("Only one of url_format and url_formats should be specified.")
=20
repository_ctx.download_and_extract(
- url =3D zig_url,
+ url =3D [uf.format(**format_vars) for uf in url_formats],
stripPrefix =3D "zig-{host_platform}-{version}/".format(**format_var=
s),
sha256 =3D zig_sha256,
)
@@ -279,7 +288,8 @@ zig_repository =3D repository_rule(
attrs =3D {
"version": attr.string(),
"host_platform_sha256": attr.string_dict(),
- "url_format": attr.string(),
+ "url_format": attr.string(doc =3D "Deprecated in favor of url_format=
s"),
+ "url_formats": attr.string_list(),
"host_platform_include_root": attr.string_dict(),
},
implementation =3D _zig_repository_impl,
--=20
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id D52B611EF52;
Thu, 17 Mar 2022 20:04:30 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 17 Mar 2022 15:47:45 -0400
Subject: [PATCH bazel-zig-cc 3/3] Support netrc for Zig SDK download
Message-ID: <164754746999.13783.11303815672892555536-3@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
In-Reply-To: <164754746999.13783.11303815672892555536-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
toolchain/defs.bzl | 29 +++++++++++++++++++++++++++--
1 file changed, 27 insertions(+), 2 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index f883cc2..0ea7a26 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -1,5 +1,5 @@
load("@bazel_skylib//lib:shell.bzl", "shell")
-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "read_netrc", "use_net=
rc")
load(":zig_toolchain.bzl", "zig_cc_toolchain_config")
=20
DEFAULT_TOOL_PATHS =3D {
@@ -250,8 +250,11 @@ def _zig_repository_impl(repository_ctx):
elif url_format !=3D "":
fail("Only one of url_format and url_formats should be specified.")
=20
+ urls =3D [uf.format(**format_vars) for uf in url_formats]
+
repository_ctx.download_and_extract(
- url =3D [uf.format(**format_vars) for uf in url_formats],
+ auth =3D use_netrc(read_user_netrc(repository_ctx), urls, {}),
+ url =3D urls,
stripPrefix =3D "zig-{host_platform}-{version}/".format(**format_var=
s),
sha256 =3D zig_sha256,
)
@@ -407,3 +410,25 @@ def zig_build_macro(absolute_path, zig_include_root):
name =3D "{os}_{gocpu}_platform".format(os =3D os, gocpu=
=3D gocpu),
constraint_values =3D constraint_values,
)
+
+# Copied from https://github.com/bazelbuild/bazel/blob/master/tools/build_de=
fs/repo/utils.bzl
+# TODO: Upgrade to Bazel 5.1 and import this instead.
+def read_user_netrc(ctx):
+ """Read user's default netrc file.
+ Args:
+ ctx: The repository context of the repository rule calling this utilit=
y function.
+ Returns:
+ dict mapping a machine names to a dict with the information provided a=
bout them.
+ """
+ if ctx.os.name.startswith("windows"):
+ home_dir =3D ctx.os.environ.get("USERPROFILE", "")
+ else:
+ home_dir =3D ctx.os.environ.get("HOME", "")
+
+ if not home_dir:
+ return {}
+
+ netrcfile =3D "{}/.netrc".format(home_dir)
+ if not ctx.path(netrcfile).exists:
+ return {}
+ return read_netrc(ctx, netrcfile)
--=20
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=7E5ugq03gQepqZijHDKqWwmyoSoljjtR17dVHMYjfto=;
c=simple/simple; d=sr.ht; h=Date:In-Reply-To:Subject:To:Cc:From;
q=dns/txt; s=srht; t=1647548274; v=1;
b=aTuLBd3oZ//M2LwIw2Rup9HB16zQiEx5QkEq/L8E/T+y7EX72a7E5EVzqniFdJ+YN0l6Lb+y
3l5fvv4E43+2OwzTCAvnIHZU0FLLjYNzCG8FuyAssCABK3+Tj+jjplVZm/StyQjbIPiEuj6/XFa
jBx2L1zac0NHkjCHyQ6tcGY8pjFksQGdHoZ9DcLuUEVlXsf7xL+DUK31RzMlZFFcLPaR/wyYaf8
GUpjAWdoIp+54H0vUQgt+cjtTxzv7ILPkF1E7xUuvtpdE7pzpOLygodgIKZB2ImLMa3w/CZ11rf
L0mNJgGnomwUBTrALMJZnjlwSlB3v0bYP3n2tNVTOA9hQ==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id F25FC11EF37;
Thu, 17 Mar 2022 20:17:53 +0000 (UTC)
MIME-Version: 1.0
Date: Thu, 17 Mar 2022 20:17:53 +0000
Message-ID: <CIMF4C956NY6.XAHMHMOADXNQ@cirno>
In-Reply-To: <164754746999.13783.11303815672892555536-3@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~kmicklas" <git@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 13m21s
[Download improvments][0] from [~kmicklas][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/30313
[1]: mailto:git@kmicklas.com
=E2=9C=93 #717171 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/717171
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171])
by mail-b.sr.ht (Postfix) with ESMTPS id 8FFDB11EFC0
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 18 Mar 2022 05:58:51 +0000 (UTC)
Received: by mail-lj1-f171.google.com with SMTP id 25so10006112ljv.10
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 17 Mar 2022 22:58:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=O5wygcx8YHlm9775MqZTv4VJEnvHYlC1UwlOjkrGTrU=;
b=f92Rz2hfsT15yHex1cxQWB0PaPyKA48jRdlarTnZj2BiC/jJ9ZHRBQzbZw9bTgHaU9
X/8+7wTlBzGgsrot4pN+2q1TAxL0lcYR3EpBUihhIPWNRYRx2odjeBm3khgRKs4tGfy5
mZvIuoncaj5su8mw6G9rP4MF0l0BSFoF4YX9zrkMYblOxO8Pst8VpyqN83qv/wTkCYER
EKD/qD3bTuD/V7qyZ37D5NudbabbwggRdazfuXcFMu7UKMY6I+JOWumd7ptA6GXiPPrh
E1Tkk1cQN9CY4UAF+Ie4I3ghZ1qCMq0R6BbsO01g0tKOAOuarPmQSyN7TJAOXq8wDRaE
E6zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=O5wygcx8YHlm9775MqZTv4VJEnvHYlC1UwlOjkrGTrU=;
b=x+4EEFsiiz57BGZprGzyJZLYG5Ci2gvxI1xHGgyfL6PAA3t+1lS1MAK6jLbwgHf6IG
ZLZ9BvaD7zR8QtFWGjoKKlVtSagMvjiGHT9k67hNMDcy3ZEX76UFBxFQTXbv0DkIYrYu
r+YXtKAQhmxgCsX2Jxia0xPLHQtZJR2w6E/devmhpb8v4m1QEcVqjvkzSTbmQEY11S0b
pxJAx9/7ZJPjUd9R7BGr50050Yzmxln8hk3ERFb6dBbvP49lqW2yZxrpioKr6ciGYTP7
0Bd33Y7VEMRgEin0ImL3kGDyD2sTjEFL9lkLcnGXkCxm5VIPpQIvFfHYW0jHDf5Nq5zt
FNmg==
X-Gm-Message-State: AOAM5310aa6U0D3DwRUXBG0km88Duds7a04XE9uMa5/NHpkVlM7i4M7Y
hNtj0uOOIetpr+7wBBHVgOYvEf4a08Kg7A==
X-Google-Smtp-Source: ABdhPJyQwYb1aPDuUAsW4HWDz5avo2+R7rK/HjA9tOlhOyQodRvS76ToI2lMUcBnpSgb1Jy4zkwl/A==
X-Received: by 2002:a05:651c:512:b0:249:71cf:37ee with SMTP id o18-20020a05651c051200b0024971cf37eemr339884ljp.484.1647583128947;
Thu, 17 Mar 2022 22:58:48 -0700 (PDT)
Received: from localhost ([87.54.21.186])
by smtp.gmail.com with ESMTPSA id j14-20020a056512108e00b004481ee0cee1sm690552lfg.67.2022.03.17.22.58.48
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 17 Mar 2022 22:58:48 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Fri, 18 Mar 2022 06:58:47 +0100
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.5.0
Message-ID: <20220318055847.p3qo75w55piucvix@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
thanks to Ken Micklas contributions, bazel-zig-cc can now do the
following:
- support netrc authentication. You can use internal mirrors for zig
bundle now (assuming they support netrc, of course).
- provide multiple download urls for the zig toolchain via
`url_formats`. This option is now documented, among with `version` and
`sha256`.
- while at it, upgraded zig to 0.10.0-dev.1393+291f5055f. I will be
cleaning up pre-0.10.0 from dl.jakstys.lt, consider yourself warned.
Since `sha256`, `urls` and `version` are part of the "official" API, I
will not be upgrading zig in bazel-zig-cc (or, rather, will upgrade much
more rarely); please do so in your application.
Reminder: dl.jakstys.lt is a small machine in my home closet. No UPS, no
monitoring whatsoever. So, if you are depending on this for work, you
may want to use your mirror.
Happy compiling,
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id B878611EF57;
Fri, 25 Mar 2022 15:53:45 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Fri, 25 Mar 2022 15:53:45 +0000
Subject:
[PATCH bazel-zig-cc 0/4] Upgrade to Bazel 5.1.0 and associated cleanups
MIME-Version: 1.0
Message-ID: <164822362548.25319.8453123527885867890-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Also pins the Go SDK version.
Ken Micklas (4):
Upgrade to Bazel 5.1.0
Remove repo fetch-time uname dependency, use new os.arch instead
Use upstream read_user_netrc from Bazel 5.1
Pin Go SDK to 1.18 for reproducibility
.bazelversion | 2 +-
WORKSPACE | 2 +-
toolchain/defs.bzl | 41 ++++++++---------------------------------
3 files changed, 10 insertions(+), 35 deletions(-)
--
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id D86DC11F01F;
Fri, 25 Mar 2022 15:53:45 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Fri, 25 Mar 2022 11:45:39 -0400
Subject: [PATCH bazel-zig-cc 1/4] Upgrade to Bazel 5.1.0
Message-ID: <164822362548.25319.8453123527885867890-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
In-Reply-To: <164822362548.25319.8453123527885867890-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
.bazelversion | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.bazelversion b/.bazelversion
index af8c8ec..831446c 100644
--- a/.bazelversion
+++ b/.bazelversion
@@ -1 +1 @@
-4.2.2
+5.1.0
--
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id F2C8E11F0F2;
Fri, 25 Mar 2022 15:53:45 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Fri, 25 Mar 2022 11:46:11 -0400
Subject: [PATCH bazel-zig-cc 2/4] Remove repo fetch-time uname dependency, use
new os.arch instead
Message-ID: <164822362548.25319.8453123527885867890-2@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
In-Reply-To: <164822362548.25319.8453123527885867890-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
toolchain/defs.bzl | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 810db50..840976d 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -221,17 +221,14 @@ _ZIG_TOOLS =3D [
]
=20
def _zig_repository_impl(repository_ctx):
- res =3D repository_ctx.execute(["uname", "-m"])
- if res.return_code !=3D 0:
- fail("failed to run uname -m")
- arch =3D res.stdout.strip()
+ arch =3D repository_ctx.os.arch
+ if arch =3D=3D "amd64":
+ arch =3D "x86_64"
=20
- os =3D "linux"
- if repository_ctx.os.name.lower().startswith("mac os"):
+ os =3D repository_ctx.os.name.lower()
+ if os.startswith("mac os"):
os =3D "macos"
- if arch =3D=3D "arm64":
- # uname -m reports arm64 on an M1 Mac.
- arch =3D "aarch64"
+
host_platform =3D "{}-{}".format(os, arch)
=20
zig_include_root =3D repository_ctx.attr.host_platform_include_root[host=
_platform]
--=20
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 3AA1D11F178;
Fri, 25 Mar 2022 15:53:46 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Fri, 25 Mar 2022 11:46:59 -0400
Subject: [PATCH bazel-zig-cc 3/4] Use upstream read_user_netrc from Bazel 5.1
Message-ID: <164822362548.25319.8453123527885867890-3@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
In-Reply-To: <164822362548.25319.8453123527885867890-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
toolchain/defs.bzl | 26 ++------------------------
1 file changed, 2 insertions(+), 24 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 840976d..112a64a 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -1,6 +1,6 @@
load("@bazel_skylib//lib:shell.bzl", "shell")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
-load("@bazel_tools//tools/build_defs/repo:utils.bzl", "read_netrc", "use_net=
rc")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "read_user_netrc", "us=
e_netrc")
load(":zig_toolchain.bzl", "zig_cc_toolchain_config")
=20
DEFAULT_TOOL_PATHS =3D {
@@ -240,7 +240,7 @@ def _zig_repository_impl(repository_ctx):
=20
urls =3D [uf.format(**format_vars) for uf in repository_ctx.attr.url_for=
mats]
repository_ctx.download_and_extract(
- auth =3D use_netrc(_read_user_netrc(repository_ctx), urls, {}),
+ auth =3D use_netrc(read_user_netrc(repository_ctx), urls, {}),
url =3D urls,
stripPrefix =3D "zig-{host_platform}-{version}/".format(**format_var=
s),
sha256 =3D zig_sha256,
@@ -396,25 +396,3 @@ def zig_build_macro(absolute_path, zig_include_root):
name =3D "{os}_{gocpu}_platform".format(os =3D os, gocpu=
=3D gocpu),
constraint_values =3D constraint_values,
)
-
-# Copied from https://github.com/bazelbuild/bazel/blob/master/tools/build_de=
fs/repo/utils.bzl
-# TODO: Upgrade to Bazel 5.1 and import this instead.
-def _read_user_netrc(ctx):
- """Read user's default netrc file.
- Args:
- ctx: The repository context of the repository rule calling this utilit=
y function.
- Returns:
- dict mapping a machine names to a dict with the information provided a=
bout them.
- """
- if ctx.os.name.startswith("windows"):
- home_dir =3D ctx.os.environ.get("USERPROFILE", "")
- else:
- home_dir =3D ctx.os.environ.get("HOME", "")
-
- if not home_dir:
- return {}
-
- netrcfile =3D "{}/.netrc".format(home_dir)
- if not ctx.path(netrcfile).exists:
- return {}
- return read_netrc(ctx, netrcfile)
--=20
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 5A3F711EF57;
Fri, 25 Mar 2022 15:53:46 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Fri, 25 Mar 2022 11:47:10 -0400
Subject: [PATCH bazel-zig-cc 4/4] Pin Go SDK to 1.18 for reproducibility
Message-ID: <164822362548.25319.8453123527885867890-4@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
In-Reply-To: <164822362548.25319.8453123527885867890-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
WORKSPACE | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/WORKSPACE b/WORKSPACE
index eeb098a..0aff5db 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -28,7 +28,7 @@ load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
go_rules_dependencies()
# use latest stable.
-go_download_sdk(name = "go_sdk")
+go_download_sdk(name = "go_sdk", version = "1.18")
go_register_toolchains()
--
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=vl6q2l7OOKEBhNt4qtJAxHIft46gdMwjqZrsBx08HLM=;
c=simple/simple; d=sr.ht; h=Date:In-Reply-To:Subject:To:Cc:From;
q=dns/txt; s=srht; t=1648224469; v=1;
b=grlGdG4ZDS5JH4IcFhaf7h4A5MUCfTSq78jO+bUR4LXCdjgOxQD4LUiHPJVGHkqAWEItA8rp
kagxXYt7EYuF2U3R2Ub0ygW/2G3JiwFDAlpUdA0E5d0Zm3KCMaiI8OpLwZO0C0TdJ4SdgL28K83
IuxKzxJwp/hl31zQROAhFlPI0Lln10Bo9qC1tcCqDB5qjSwBPeFl3yTD8lvlwScp0VzNvoVVKKt
qFn0sfWwWkE/12x4SzFcm+HzJFvMaVIiPfxJFhvyj1z7ATuNMo18n4jFOCb0LRECw02rPIrbgvs
sxbGBnopieamHloWulztJlETdQrYe/J8vsc+eIYwic5Gg==
Received: from localhost (unknown [173.195.146.244])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 89B2D11F01F;
Fri, 25 Mar 2022 16:07:49 +0000 (UTC)
MIME-Version: 1.0
Date: Fri, 25 Mar 2022 16:07:49 +0000
Message-ID: <CIT2T87A4BL6.2OSWJY7N2ORZ8@cirno2>
In-Reply-To: <164822362548.25319.8453123527885867890-4@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build failed
To: "~kmicklas" <git@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: FAILED in 14m1s
[Upgrade to Bazel 5.1.0 and associated cleanups][0] from [~kmicklas][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/30549
[1]: mailto:git@kmicklas.com
=E2=9C=97 #722785 FAILED bazel-zig-cc/patches/.build.yml https://builds.sr.=
ht/~motiejus/job/722785
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42])
by mail-b.sr.ht (Postfix) with ESMTPS id 2AE3F11EEFB
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 26 Mar 2022 14:06:40 +0000 (UTC)
Received: by mail-lf1-f42.google.com with SMTP id bu29so17829100lfb.0
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 26 Mar 2022 07:06:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:in-reply-to;
bh=Pjp+gqfwJjtlGbhG+5IobsfAGPuvy8DjKMfMfW3ADko=;
b=RI7sHW8r7FyGW0vbk3qyqAq3MuUjawc9/2p29i3aZxM87nfsYuD62WXN5evfRFez2t
NfhZhLLpXh7WEHvD5DJYsMJQ5/w9q+JPs+M/Px9OJkRzh9LNQWIyKHax8oNw3k+yqOEv
A2KF2vD8d64ryhYW0eyeCKPNCrHNiz+xs3cxGr139Uds3+yVhFohqkuXtzSaciXbyv+d
Iv1qc5/ag2fsCHjUmaPakLmGqrH0qkxo5fCD8YNcV1K0ihH6u37dZL4vxPTgx4IZUnY1
tXHuTXZOmlFafkK7rKSQSubju4TSvh0gIkpL2k07/qEkZs826Ic2LfZ6CQ+Wp1FFPK4D
3wGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition:in-reply-to;
bh=Pjp+gqfwJjtlGbhG+5IobsfAGPuvy8DjKMfMfW3ADko=;
b=C4Yr3Sd0roSvg87qIpO7coq1CuXnajM/v7T1MqnSSjxl2M4lYT2GiSTEXTUreffZ7D
Wrnr9o+wXrwDfm6FIg6DTuOHXJBz47j9aF5kp8DlGxSq692B62mhW4Cfs9sMslk38KxF
xIpThBrG+JoSkdrGw0uds9uutUP+/yJja/JTs9DEY/HfalnTu9IylQxAOTdOa8u8ON6y
VpyIEe1fXB14IsUwpyWfVNm6IzYf/ioDtW/DLs8AiDf/Z8qcyZO+UDaslRXn9Hx/8zHL
u3i/gaqj77fkMfkjuISHsPz/bkjYZNCoaOKY5G3LnO2poyvmSs04hffjtdPEFKQQV4nZ
UA3w==
X-Gm-Message-State: AOAM533hURPTlwQiQpKPHi6X0Pec8XKTXELjIFbPijs7YX/qsA2lhh96
mudeKBHrIAjCtXojtDPGne4=
X-Google-Smtp-Source: ABdhPJz8vo3yFz/ewrYm/4U/ieOtYJRdVogRkE0lVcRSKpjbVUEhyKlhBOQiTFQsXTSs8ANMmkPCxw==
X-Received: by 2002:a05:6512:224e:b0:44a:7bae:527f with SMTP id i14-20020a056512224e00b0044a7bae527fmr3850225lfu.322.1648303597462;
Sat, 26 Mar 2022 07:06:37 -0700 (PDT)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id q17-20020a2e8751000000b00244beaacef1sm1043982ljj.18.2022.03.26.07.06.36
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sat, 26 Mar 2022 07:06:36 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Sat, 26 Mar 2022 16:06:35 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~kmicklas <git@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, kmicklas@uber.com
Subject: Re: [PATCH bazel-zig-cc 4/4] Pin Go SDK to 1.18 for reproducibility
Message-ID: <20220326140635.yhzoo74n2gudaihk@mtpad.i.jakstys.lt>
References: <164822362548.25319.8453123527885867890-0@git.sr.ht>
<164822362548.25319.8453123527885867890-4@git.sr.ht>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <164822362548.25319.8453123527885867890-4@git.sr.ht>
On Fri, Mar 25, 2022 at 11:47:10AM -0400, ~kmicklas wrote:
> From: Ken Micklas <kmicklas@uber.com>
>
> ---
> WORKSPACE | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/WORKSPACE b/WORKSPACE
> index eeb098a..0aff5db 100644
> --- a/WORKSPACE
> +++ b/WORKSPACE
> @@ -28,7 +28,7 @@ load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
> go_rules_dependencies()
>
> # use latest stable.
> -go_download_sdk(name = "go_sdk")
> +go_download_sdk(name = "go_sdk", version = "1.18")
I was on the edge about this myself, since that would require us to
upgrade it with every go version, even patch ones. But I guess you're
right, leaving it like this for reproducibility.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174])
by mail-b.sr.ht (Postfix) with ESMTPS id 942C011EEFB
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 26 Mar 2022 14:07:22 +0000 (UTC)
Received: by mail-lj1-f174.google.com with SMTP id g24so13600550lja.7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 26 Mar 2022 07:07:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:in-reply-to;
bh=skzF2rzi5tynBle2oTMXjUWcWv4l0MA2+RTOPpkNpPM=;
b=GZ5rcUtXhyF0l2l1SEFkrIH4P9N+zQTGl+HTbUxhaDXriIWpkKIBg+yyl2L4pHnfe9
tEGxxjFItRJr2362cUOhjeepUZQccgruWISJdojLDpP/MKVnJF9Dbcz37lvgwzlZDhGT
v3H8UVUadD1VcSBm5Wil0svCKqtmgZ49WJ6JAlY07LJqAN5O/JMZKXLG6aBvr4bP0OqI
+lQRPdyCrpFPU8hSAhzVFW3TpSWqv/vpQhUeiIckZaaaig+iONeOHggcWUsouNhVVPlE
eXGXLilT79UYbJUlMjMoppfy8NIHlVfnf4QLP462YF1aEjWp79hKUZhPjOc9zCAXhuPl
2uug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition:in-reply-to;
bh=skzF2rzi5tynBle2oTMXjUWcWv4l0MA2+RTOPpkNpPM=;
b=cQGHnNmkyoRITbX37Kh4Xk+F1Hrwgas32m+irYiGC0GnHc9ETWxeTBIK6I0SctgYYL
CqvJmahfPtgchqLFb2XS+MVK+M5p/55PSL1n7NIyaILIe4yF6Bfc086uGtFvdgy5LeWx
s1zJyJoakElOu+tInarcVCS0tnXa83DKoyqir64TuK1iz0Yp/Hh/f5pB1a85DD31zeS4
MXHOwY8RVNAWcRCNnQpujtC7/VEVh1xy87FSeDeCMs+PJn5KKlOn27bc1iy6/HuwZ7vr
NogutdjHUOx5MoQt4Jtu32/zv1XEOhmcyS0I5CCEM9FhN3sggvj7DNUwFM0kdj6mP1c8
ZOeQ==
X-Gm-Message-State: AOAM530ltYKvJutOC++bK2hnktHvvRWxnaa5Ql87dRHhMFOLflj9+qkz
1aN/+FXRivw/AYqj/BRkEXXjHqv+br0=
X-Google-Smtp-Source: ABdhPJymq04BSTzfJpVHdZ+laiZbzglDSEIbJnE2fdBBOkR9NviuD4mebDzB5lu2c+1zY8w4/rSv9g==
X-Received: by 2002:a2e:a58c:0:b0:249:b1ce:ba97 with SMTP id m12-20020a2ea58c000000b00249b1ceba97mr9423600ljp.78.1648303638993;
Sat, 26 Mar 2022 07:07:18 -0700 (PDT)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id d6-20020a193846000000b0044a589efadbsm1075763lfj.2.2022.03.26.07.07.18
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sat, 26 Mar 2022 07:07:18 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Sat, 26 Mar 2022 16:07:17 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~kmicklas <git@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, kmicklas@uber.com
Subject: Re: [PATCH bazel-zig-cc 0/4] Upgrade to Bazel 5.1.0 and associated
cleanups
Message-ID: <20220326140717.oep2mxniosjzzetg@mtpad.i.jakstys.lt>
References: <164822362548.25319.8453123527885867890-0@git.sr.ht>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <164822362548.25319.8453123527885867890-0@git.sr.ht>
On Fri, Mar 25, 2022 at 03:53:45PM +0000, ~kmicklas wrote:
> Also pins the Go SDK version.
>
> Ken Micklas (4):
> Upgrade to Bazel 5.1.0
> Remove repo fetch-time uname dependency, use new os.arch instead
> Use upstream read_user_netrc from Bazel 5.1
> Pin Go SDK to 1.18 for reproducibility
Thanks, applied all of them (+buildifier). Do you want me to cut v0.5.1?
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 150F811EF0D
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 7 Apr 2022 09:37:53 +0000 (UTC)
From: ~laurynasl <laurynasl@git.sr.ht>
Date: Thu, 07 Apr 2022 09:37:52 +0000
Subject: [PATCH bazel-zig-cc 0/4] Move platforms and toolchains
MIME-Version: 1.0
Message-ID: <164932427279.26543.1789507091630612744-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~laurynasl <laurynasl@uber.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Move platform and toochains definitions into their own "namespaces".
laurynasl (4):
move platforms under @zig_cc//platform:
Move declare_platforms() to platform/
Move toolchainss under @zig_sdk//platform:
Move toolchain definitions to toolchains/
.bazelrc | 8 +-
README.md | 27 +--
ci/test | 4 +-
toolchain/BUILD.sdk.bazel | 5 +-
toolchain/defs.bzl | 244 +++-------------------------
toolchain/platform/BUILD | 3 +
toolchain/platform/defs.bzl | 17 ++
toolchain/private/BUILD | 0
toolchain/private/defs.bzl | 124 ++++++++++++++
toolchain/toolchain/BUILD | 0
toolchain/toolchain/BUILD.sdk.bazel | 10 ++
toolchain/toolchain/defs.bzl | 87 ++++++++++
12 files changed, 277 insertions(+), 252 deletions(-)
create mode 100644 toolchain/platform/BUILD
create mode 100644 toolchain/platform/defs.bzl
create mode 100644 toolchain/private/BUILD
create mode 100644 toolchain/private/defs.bzl
create mode 100644 toolchain/toolchain/BUILD
create mode 100644 toolchain/toolchain/BUILD.sdk.bazel
create mode 100644 toolchain/toolchain/defs.bzl
--
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 30F8411EF31
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 7 Apr 2022 09:37:53 +0000 (UTC)
From: ~laurynasl <laurynasl@git.sr.ht>
Date: Wed, 06 Apr 2022 19:16:53 +0000
Subject: [PATCH bazel-zig-cc 1/4] move platforms under @zig_cc//platform:
Message-ID: <164932427279.26543.1789507091630612744-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~laurynasl <laurynasl@uber.com>
In-Reply-To: <164932427279.26543.1789507091630612744-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: laurynasl <laurynasl@uber.com>
---
README.md | 9 +++------
ci/test | 2 +-
toolchain/defs.bzl | 10 ++++++++--
toolchain/platform/BUILD | 3 +++
4 files changed, 15 insertions(+), 9 deletions(-)
create mode 100644 toolchain/platform/BUILD
diff --git a/README.md b/README.md
index 1c8e011..d855c78 100644
--- a/README.md
+++ b/README.md
@@ -114,9 +114,6 @@ The path to Bazel toolchains is `@zig_sdk//:<toolchain>_t=
oolchain`. It should
be moved to `@zig_sdk//toolchain:<toolchain>` or similar; so the user-facing
targets are in their own namespace.
=20
-Likewise, platforms are `@zig_sdk//:<platform>_platform`, and should be moved
-to `@zig_sdk//:platform:<platform>`.
-
## OSX: sysroot
=20
For non-trivial programs (and for all darwin/arm64 cgo programs) MacOS SDK m=
ay
@@ -164,7 +161,7 @@ may apply to aarch64, but the author didn't find a need t=
o test it (yet).
## build & run linux cgo + glibc
=20
```
-$ bazel build --platforms @zig_sdk//:linux_amd64_platform //test/go:go
+$ bazel build --platforms @zig_sdk//platform:linux_amd64 //test/go:go
$ file bazel-out/k8-opt-ST-d17813c235ce/bin/test/go/go_/go
bazel-out/k8-opt-ST-d17813c235ce/bin/test/go/go_/go: ELF 64-bit LSB executab=
le, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux=
-x86-64.so.2, for GNU/Linux 2.0.0, Go BuildID=3Dredacted, with debug_info, no=
t stripped
$ bazel-out/k8-opt-ST-d17813c235ce/bin/test/go/go_/go
@@ -176,7 +173,7 @@ hello, world
```
$ bazel test \
--config=3Dqemu-aarch64 \
- --platforms @zig_sdk//:linux_arm64_platform \
+ --platforms @zig_sdk//platform:linux_arm64 \
--extra_toolchains @zig_sdk//:linux_arm64_musl_toolchain //test/...
...
INFO: Build completed successfully, 10 total actions
@@ -186,7 +183,7 @@ INFO: Build completed successfully, 10 total actions
## macos cgo
=20
```
-$ bazel build --platforms @zig_sdk//:darwin_amd64_platform //test/go:go
+$ bazel build --platforms @zig_sdk//platform:darwin_amd64 //test/go:go
...
$ file bazel-out/k8-opt-ST-d17813c235ce/bin/test/go/go_/go
bazel-out/k8-opt-ST-d17813c235ce/bin/test/go/go_/go: Mach-O 64-bit x86_64 ex=
ecutable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|PIE|HAS_TLV_DESCRIPTORS>
diff --git a/ci/test b/ci/test
index e9a8e9a..5b9a4d7 100755
--- a/ci/test
+++ b/ci/test
@@ -18,7 +18,7 @@ while read -r action platform toolchain config; do
fi
=20
args+=3D(\
- --platforms "@zig_sdk//:${platform}_platform" \
+ --platforms "@zig_sdk//platform:${platform}" \
--extra_toolchains "@zig_sdk//:${toolchain}_toolchain" \
//test/... \
)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 112a64a..eb005fe 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -264,6 +264,11 @@ def _zig_repository_impl(repository_ctx):
content =3D _fcntl_h,
)
=20
+ repository_ctx.symlink(
+ Label("//toolchain/platform:BUILD"),
+ "platform/BUILD",
+ )
+
repository_ctx.template(
"BUILD.bazel",
Label("//toolchain:BUILD.sdk.bazel"),
@@ -380,6 +385,7 @@ def zig_build_macro(absolute_path, zig_include_root):
toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
)
=20
+def declare_platforms():
# create @zig_sdk//{os}_{arch}_platform entries with zig and go conventi=
ons
for zigcpu, gocpu in (("x86_64", "amd64"), ("aarch64", "arm64")):
for bzlos, oss in {"linux": ["linux"], "macos": ["macos", "darwin"]}=
.items():
@@ -389,10 +395,10 @@ def zig_build_macro(absolute_path, zig_include_root):
"@platforms//cpu:{}".format(zigcpu),
]
native.platform(
- name =3D "{os}_{zigcpu}_platform".format(os =3D os, zigc=
pu =3D zigcpu),
+ name =3D "{os}_{zigcpu}".format(os =3D os, zigcpu =3D zi=
gcpu),
constraint_values =3D constraint_values,
)
native.platform(
- name =3D "{os}_{gocpu}_platform".format(os =3D os, gocpu=
=3D gocpu),
+ name =3D "{os}_{gocpu}".format(os =3D os, gocpu =3D gocp=
u),
constraint_values =3D constraint_values,
)
diff --git a/toolchain/platform/BUILD b/toolchain/platform/BUILD
new file mode 100644
index 0000000..b02436b
--- /dev/null
+++ b/toolchain/platform/BUILD
@@ -0,0 +1,3 @@
+load("@bazel-zig-cc//toolchain:defs.bzl", "declare_platforms")
+
+declare_platforms()
--=20
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 4D67411EF0D
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 7 Apr 2022 09:37:53 +0000 (UTC)
From: ~laurynasl <laurynasl@git.sr.ht>
Date: Wed, 06 Apr 2022 19:19:44 +0000
Subject: [PATCH bazel-zig-cc 2/4] Move declare_platforms() to platform/
Message-ID: <164932427279.26543.1789507091630612744-2@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~laurynasl <laurynasl@uber.com>
In-Reply-To: <164932427279.26543.1789507091630612744-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: laurynasl <laurynasl@uber.com>
---
toolchain/defs.bzl | 17 -----------------
toolchain/platform/BUILD | 2 +-
toolchain/platform/defs.bzl | 17 +++++++++++++++++
3 files changed, 18 insertions(+), 18 deletions(-)
create mode 100644 toolchain/platform/defs.bzl
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index eb005fe..3f6b4bd 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -385,20 +385,3 @@ def zig_build_macro(absolute_path, zig_include_root):
toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
)
=20
-def declare_platforms():
- # create @zig_sdk//{os}_{arch}_platform entries with zig and go conventi=
ons
- for zigcpu, gocpu in (("x86_64", "amd64"), ("aarch64", "arm64")):
- for bzlos, oss in {"linux": ["linux"], "macos": ["macos", "darwin"]}=
.items():
- for os in oss:
- constraint_values =3D [
- "@platforms//os:{}".format(bzlos),
- "@platforms//cpu:{}".format(zigcpu),
- ]
- native.platform(
- name =3D "{os}_{zigcpu}".format(os =3D os, zigcpu =3D zi=
gcpu),
- constraint_values =3D constraint_values,
- )
- native.platform(
- name =3D "{os}_{gocpu}".format(os =3D os, gocpu =3D gocp=
u),
- constraint_values =3D constraint_values,
- )
diff --git a/toolchain/platform/BUILD b/toolchain/platform/BUILD
index b02436b..ce0ffc7 100644
--- a/toolchain/platform/BUILD
+++ b/toolchain/platform/BUILD
@@ -1,3 +1,3 @@
-load("@bazel-zig-cc//toolchain:defs.bzl", "declare_platforms")
+load("@bazel-zig-cc//toolchain/platform:defs.bzl", "declare_platforms")
=20
declare_platforms()
diff --git a/toolchain/platform/defs.bzl b/toolchain/platform/defs.bzl
new file mode 100644
index 0000000..e094029
--- /dev/null
+++ b/toolchain/platform/defs.bzl
@@ -0,0 +1,17 @@
+def declare_platforms():
+ # create @zig_sdk//{os}_{arch}_platform entries with zig and go conventi=
ons
+ for zigcpu, gocpu in (("x86_64", "amd64"), ("aarch64", "arm64")):
+ for bzlos, oss in {"linux": ["linux"], "macos": ["macos", "darwin"]}=
.items():
+ for os in oss:
+ constraint_values =3D [
+ "@platforms//os:{}".format(bzlos),
+ "@platforms//cpu:{}".format(zigcpu),
+ ]
+ native.platform(
+ name =3D "{os}_{zigcpu}".format(os =3D os, zigcpu =3D zi=
gcpu),
+ constraint_values =3D constraint_values,
+ )
+ native.platform(
+ name =3D "{os}_{gocpu}".format(os =3D os, gocpu =3D gocp=
u),
+ constraint_values =3D constraint_values,
+ )
--=20
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 6C1EB11EF31
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 7 Apr 2022 09:37:53 +0000 (UTC)
From: ~laurynasl <laurynasl@git.sr.ht>
Date: Wed, 06 Apr 2022 19:46:15 +0000
Subject: [PATCH bazel-zig-cc 3/4] Move toolchainss under @zig_sdk//platform:
Message-ID: <164932427279.26543.1789507091630612744-3@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~laurynasl <laurynasl@uber.com>
In-Reply-To: <164932427279.26543.1789507091630612744-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: laurynasl <laurynasl@uber.com>
---
.bazelrc | 8 ++---
README.md | 18 ++++------
ci/test | 2 +-
toolchain/BUILD.sdk.bazel | 5 ++-
toolchain/defs.bzl | 55 ++++++++++++++++++-----------
toolchain/toolchain/BUILD | 0
toolchain/toolchain/BUILD.sdk.bazel | 10 ++++++
7 files changed, 57 insertions(+), 41 deletions(-)
create mode 100644 toolchain/toolchain/BUILD
create mode 100644 toolchain/toolchain/BUILD.sdk.bazel
diff --git a/.bazelrc b/.bazelrc
index cba4a5e..fed6f0b 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -6,10 +6,10 @@ build --worker_sandboxing
build --compilation_mode=3Dopt
=20
build --incompatible_enable_cc_toolchain_resolution
-build --extra_toolchains @zig_sdk//:linux_amd64_gnu.2.19_toolchain
-build --extra_toolchains @zig_sdk//:linux_arm64_gnu.2.28_toolchain
-build --extra_toolchains @zig_sdk//:darwin_amd64_toolchain
-build --extra_toolchains @zig_sdk//:darwin_arm64_toolchain
+build --extra_toolchains @zig_sdk//toolchain:linux_amd64_gnu.2.19
+build --extra_toolchains @zig_sdk//toolchain:linux_arm64_gnu.2.28
+build --extra_toolchains @zig_sdk//toolchain:darwin_amd64
+build --extra_toolchains @zig_sdk//toolchain:darwin_arm64
=20
test:qemu-aarch64 --test_env=3DQEMU_LD_PREFIX=3D/usr/aarch64-linux-gnu/
test:qemu-aarch64 --run_under=3Dqemu-aarch64-static
diff --git a/README.md b/README.md
index d855c78..1a20d5f 100644
--- a/README.md
+++ b/README.md
@@ -41,10 +41,10 @@ And this to `.bazelrc`:
=20
```
build --incompatible_enable_cc_toolchain_resolution
-build --extra_toolchains @zig_sdk//:linux_amd64_gnu.2.19_toolchain
-build --extra_toolchains @zig_sdk//:linux_arm64_gnu.2.28_toolchain
-build --extra_toolchains @zig_sdk//:darwin_amd64_toolchain
-build --extra_toolchains @zig_sdk//:darwin_arm64_toolchain
+build --extra_toolchains @zig_sdk//toolchain:linux_amd64_gnu.2.19
+build --extra_toolchains @zig_sdk//toolchain:linux_arm64_gnu.2.28
+build --extra_toolchains @zig_sdk//toolchain:darwin_amd64
+build --extra_toolchains @zig_sdk//toolchain:darwin_arm64
```
=20
The snippets above will download the zig toolchain and register it for the
@@ -80,7 +80,7 @@ different one is registered using `--extra_toolchains <tool=
chain>` in
tests) on linux/amd64/musl, you may specify:
=20
```
---extra_toolchains @zig_sdk//:linux_amd64_musl_toolchain
+--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl
```
=20
## UBSAN and "SIGILL: Illegal Instruction"
@@ -108,12 +108,6 @@ how to contribute.
Currently zig cache is in `$HOME`, so `bazel clean --expunge` does not clear
the zig cache. Zig's cache should be stored somewhere in the project's path.
=20
-## Toolchain and platform target locations
-
-The path to Bazel toolchains is `@zig_sdk//:<toolchain>_toolchain`. It should
-be moved to `@zig_sdk//toolchain:<toolchain>` or similar; so the user-facing
-targets are in their own namespace.
-
## OSX: sysroot
=20
For non-trivial programs (and for all darwin/arm64 cgo programs) MacOS SDK m=
ay
@@ -174,7 +168,7 @@ hello, world
$ bazel test \
--config=3Dqemu-aarch64 \
--platforms @zig_sdk//platform:linux_arm64 \
- --extra_toolchains @zig_sdk//:linux_arm64_musl_toolchain //test/...
+ --extra_toolchains @zig_sdk//toolchain:linux_arm64_musl //test/...
...
INFO: Build completed successfully, 10 total actions
//test/go:go_test PAS=
SED in 0.2s
diff --git a/ci/test b/ci/test
index 5b9a4d7..35d0c07 100755
--- a/ci/test
+++ b/ci/test
@@ -19,7 +19,7 @@ while read -r action platform toolchain config; do
=20
args+=3D(\
--platforms "@zig_sdk//platform:${platform}" \
- --extra_toolchains "@zig_sdk//:${toolchain}_toolchain" \
+ --extra_toolchains "@zig_sdk//toolchain:${toolchain}" \
//test/... \
)
=20
diff --git a/toolchain/BUILD.sdk.bazel b/toolchain/BUILD.sdk.bazel
index 8b5db49..cf5dc4a 100644
--- a/toolchain/BUILD.sdk.bazel
+++ b/toolchain/BUILD.sdk.bazel
@@ -1,11 +1,10 @@
-load("@bazel-zig-cc//toolchain:defs.bzl", "zig_build_macro")
+load("@bazel-zig-cc//toolchain:defs.bzl", "declare_files")
=20
package(
default_visibility =3D ["//visibility:public"],
)
=20
-zig_build_macro(
- absolute_path =3D {absolute_path},
+declare_files(
zig_include_root =3D {zig_include_root},
)
=20
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 3f6b4bd..61e099f 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -189,7 +189,7 @@ def register_toolchains(
},
)
=20
- toolchains =3D ["@zig_sdk//:%s_toolchain" % t for t in register]
+ toolchains =3D ["@zig_sdk//:toolchain:%s" % t for t in register]
native.register_toolchains(*toolchains)
=20
ZIG_TOOL_PATH =3D "tools/{zig_tool}"
@@ -268,11 +268,19 @@ def _zig_repository_impl(repository_ctx):
Label("//toolchain/platform:BUILD"),
"platform/BUILD",
)
-
repository_ctx.template(
- "BUILD.bazel",
+ "BUILD",
Label("//toolchain:BUILD.sdk.bazel"),
executable =3D False,
+ substitutions =3D {
+ "{zig_include_root}": shell.quote(zig_include_root),
+ },
+ )
+
+ repository_ctx.template(
+ "toolchain/BUILD",
+ Label("//toolchain/toolchain:BUILD.sdk.bazel"),
+ executable =3D False,
substitutions =3D {
"{absolute_path}": shell.quote(str(repository_ctx.path(""))),
"{zig_include_root}": shell.quote(zig_include_root),
@@ -302,13 +310,21 @@ def filegroup(name, **kwargs):
native.filegroup(name =3D name, **kwargs)
return ":" + name
=20
-def zig_build_macro(absolute_path, zig_include_root):
+def declare_files(zig_include_root):
filegroup(name =3D "empty")
native.exports_files(["zig"], visibility =3D ["//visibility:public"])
filegroup(name =3D "lib/std", srcs =3D native.glob(["lib/std/**"]))
=20
lazy_filegroups =3D {}
=20
+ for target_config in _target_structs():
+ for d in DEFAULT_INCLUDE_DIRECTORIES + target_config.includes:
+ d =3D zig_include_root + d
+ if d not in lazy_filegroups:
+ lazy_filegroups[d] =3D filegroup(name =3D d, srcs =3D native=
.glob([d + "/**"]))
+
+
+def declare_toolchains(absolute_path, zig_include_root):
for target_config in _target_structs():
gotarget =3D target_config.gotarget
zigtarget =3D target_config.zigtarget
@@ -316,8 +332,6 @@ def zig_build_macro(absolute_path, zig_include_root):
cxx_builtin_include_directories =3D []
for d in DEFAULT_INCLUDE_DIRECTORIES + target_config.includes:
d =3D zig_include_root + d
- if d not in lazy_filegroups:
- lazy_filegroups[d] =3D filegroup(name =3D d, srcs =3D native=
.glob([d + "/**"]))
cxx_builtin_include_directories.append(absolute_path + "/" + d)
for d in getattr(target_config, "toplevel_include", []):
cxx_builtin_include_directories.append(absolute_path + "/" + d)
@@ -338,7 +352,7 @@ def zig_build_macro(absolute_path, zig_include_root):
copts =3D copts + ["-include", absolute_path + "/" + incl]
=20
zig_cc_toolchain_config(
- name =3D zigtarget + "_toolchain_cc_config",
+ name =3D zigtarget + "_cc_config",
target =3D zigtarget,
tool_paths =3D absolute_tool_paths,
cxx_builtin_include_directories =3D cxx_builtin_include_director=
ies,
@@ -353,35 +367,34 @@ def zig_build_macro(absolute_path, zig_include_root):
)
=20
native.cc_toolchain(
- name =3D zigtarget + "_toolchain_cc",
+ name =3D zigtarget + "_cc",
toolchain_identifier =3D zigtarget + "-toolchain",
- toolchain_config =3D ":%s_toolchain_cc_config" % zigtarget,
- all_files =3D ":zig",
- ar_files =3D ":zig",
- compiler_files =3D ":zig",
- linker_files =3D ":zig",
- dwp_files =3D ":empty",
- objcopy_files =3D ":empty",
- strip_files =3D ":empty",
+ toolchain_config =3D ":%s_cc_config" % zigtarget,
+ all_files =3D "@zig_sdk//:zig",
+ ar_files =3D "@zig_sdk//:zig",
+ compiler_files =3D "@zig_sdk//:zig",
+ linker_files =3D "@zig_sdk//:zig",
+ dwp_files =3D "@zig_sdk//:empty",
+ objcopy_files =3D "@zig_sdk//:empty",
+ strip_files =3D "@zig_sdk//:empty",
supports_param_files =3D 0,
)
=20
# register two kinds of toolchain targets: Go and Zig conventions.
# Go convention: amd64/arm64, linux/darwin
native.toolchain(
- name =3D gotarget + "_toolchain",
+ name =3D gotarget,
exec_compatible_with =3D None,
target_compatible_with =3D target_config.constraint_values,
- toolchain =3D ":%s_toolchain_cc" % zigtarget,
+ toolchain =3D ":%s_cc" % zigtarget,
toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
)
=20
# Zig convention: x86_64/aarch64, linux/macos
native.toolchain(
- name =3D zigtarget + "_toolchain",
+ name =3D zigtarget,
exec_compatible_with =3D None,
target_compatible_with =3D target_config.constraint_values,
- toolchain =3D ":%s_toolchain_cc" % zigtarget,
+ toolchain =3D ":%s_cc" % zigtarget,
toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
)
-
diff --git a/toolchain/toolchain/BUILD b/toolchain/toolchain/BUILD
new file mode 100644
index 0000000..e69de29
diff --git a/toolchain/toolchain/BUILD.sdk.bazel b/toolchain/toolchain/BUILD.=
sdk.bazel
new file mode 100644
index 0000000..4b505dc
--- /dev/null
+++ b/toolchain/toolchain/BUILD.sdk.bazel
@@ -0,0 +1,10 @@
+load("@bazel-zig-cc//toolchain:defs.bzl", "declare_toolchains")
+
+package(
+ default_visibility =3D ["//visibility:public"],
+)
+
+declare_toolchains(
+ absolute_path =3D {absolute_path},
+ zig_include_root =3D {zig_include_root},
+)
--=20
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id A38FF11EF0D
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 7 Apr 2022 09:37:53 +0000 (UTC)
From: ~laurynasl <laurynasl@git.sr.ht>
Date: Wed, 06 Apr 2022 20:10:45 +0000
Subject: [PATCH bazel-zig-cc 4/4] Move toolchain definitions to toolchains/
Message-ID: <164932427279.26543.1789507091630612744-4@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~laurynasl <laurynasl@uber.com>
In-Reply-To: <164932427279.26543.1789507091630612744-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: laurynasl <laurynasl@uber.com>
---
toolchain/defs.bzl | 214 +---------------------------
toolchain/private/BUILD | 0
toolchain/private/defs.bzl | 124 ++++++++++++++++
toolchain/toolchain/BUILD.sdk.bazel | 2 +-
toolchain/toolchain/defs.bzl | 87 +++++++++++
5 files changed, 215 insertions(+), 212 deletions(-)
create mode 100644 toolchain/private/BUILD
create mode 100644 toolchain/private/defs.bzl
create mode 100644 toolchain/toolchain/defs.bzl
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 61e099f..084af86 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -1,23 +1,7 @@
load("@bazel_skylib//lib:shell.bzl", "shell")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "read_user_netrc", "us=
e_netrc")
-load(":zig_toolchain.bzl", "zig_cc_toolchain_config")
-
-DEFAULT_TOOL_PATHS =3D {
- "ar": "ar",
- "gcc": "c++", # https://github.com/bazelbuild/bazel/issues/4644
- "cpp": "/usr/bin/false",
- "gcov": "/usr/bin/false",
- "nm": "/usr/bin/false",
- "objdump": "/usr/bin/false",
- "strip": "/usr/bin/false",
-}.items()
-
-DEFAULT_INCLUDE_DIRECTORIES =3D [
- "include",
- "libcxx/include",
- "libcxxabi/include",
-]
+load("@bazel-zig-cc//toolchain/private:defs.bzl", "DEFAULT_INCLUDE_DIRECTORI=
ES", "ZIG_TOOL_PATH", "target_structs")
=20
_fcntl_map =3D """
GLIBC_2.2.5 {
@@ -32,114 +16,6 @@ __asm__(".symver fcntl64, fcntl@GLIBC_2.2.5");
#endif
"""
=20
-# Zig supports even older glibcs than defined below, but we have tested only
-# down to 2.17.
-# $ zig targets | jq -r '.glibc[]' | sort -V
-_GLIBCS =3D [
- "2.17",
- "2.18",
- "2.19",
- "2.22",
- "2.23",
- "2.24",
- "2.25",
- "2.26",
- "2.27",
- "2.28",
- "2.29",
- "2.30",
- "2.31",
- "2.32",
- "2.33",
- "2.34",
-]
-
-def _target_darwin(gocpu, zigcpu):
- min_os =3D "10"
- if zigcpu =3D=3D "aarch64":
- min_os =3D "11"
- return struct(
- gotarget =3D "darwin_{}".format(gocpu),
- zigtarget =3D "{}-macos-gnu".format(zigcpu),
- includes =3D [
- "libunwind/include",
- # TODO: Define a toolchain for each minimum OS version
- "libc/include/{}-macos.{}-gnu".format(zigcpu, min_os),
- "libc/include/any-macos.{}-any".format(min_os),
- "libc/include/any-macos-any",
- ],
- linkopts =3D [],
- copts =3D [],
- bazel_target_cpu =3D "darwin",
- constraint_values =3D [
- "@platforms//os:macos",
- "@platforms//cpu:{}".format(zigcpu),
- ],
- tool_paths =3D {"ld": "ld64.lld"},
- )
-
-def _target_linux_gnu(gocpu, zigcpu, glibc_version =3D ""):
- glibc_suffix =3D "gnu"
- if glibc_version !=3D "":
- glibc_suffix =3D "gnu.{}".format(glibc_version)
-
- # https://github.com/ziglang/zig/issues/5882#issuecomment-888250676
- # fcntl_hack is only required for glibc 2.27 or less. We assume that
- # glibc_version =3D=3D "" (autodetect) is running a recent glibc version=
, thus
- # adding this hack only when glibc is explicitly 2.27 or lower.
- fcntl_hack =3D False
- if glibc_version =3D=3D "":
- # zig doesn't reliably detect the glibc version, so
- # often falls back to 2.17; the hack should be included.
- # https://github.com/ziglang/zig/issues/6469
- fcntl_hack =3D True
- else:
- # hack is required for 2.27 or less.
- fcntl_hack =3D glibc_version < "2.28"
-
- return struct(
- gotarget =3D "linux_{}_{}".format(gocpu, glibc_suffix),
- zigtarget =3D "{}-linux-{}".format(zigcpu, glibc_suffix),
- includes =3D [
- "libunwind/include",
- "libc/include/generic-glibc",
- "libc/include/any-linux-any",
- "libc/include/{}-linux-gnu".format(zigcpu),
- "libc/include/{}-linux-any".format(zigcpu),
- ] + (["libc/include/x86-linux-any"] if zigcpu =3D=3D "x86_64" else [=
]),
- toplevel_include =3D ["glibc-hacks"] if fcntl_hack else [],
- compiler_extra_includes =3D ["glibc-hacks/glibchack-fcntl.h"] if fcn=
tl_hack else [],
- linker_version_scripts =3D ["glibc-hacks/fcntl.map"] if fcntl_hack e=
lse [],
- linkopts =3D ["-lc++", "-lc++abi"],
- copts =3D [],
- bazel_target_cpu =3D "k8",
- constraint_values =3D [
- "@platforms//os:linux",
- "@platforms//cpu:{}".format(zigcpu),
- ],
- tool_paths =3D {"ld": "ld.lld"},
- )
-
-def _target_linux_musl(gocpu, zigcpu):
- return struct(
- gotarget =3D "linux_{}_musl".format(gocpu),
- zigtarget =3D "{}-linux-musl".format(zigcpu),
- includes =3D [
- "libc/include/generic-musl",
- "libc/include/any-linux-any",
- "libc/include/{}-linux-musl".format(zigcpu),
- "libc/include/{}-linux-any".format(zigcpu),
- ] + (["libc/include/x86-linux-any"] if zigcpu =3D=3D "x86_64" else [=
]),
- linkopts =3D ["-s", "-w"],
- copts =3D ["-D_LIBCPP_HAS_MUSL_LIBC", "-D_LIBCPP_HAS_THREAD_API_PTHR=
EAD"],
- bazel_target_cpu =3D "k8",
- constraint_values =3D [
- "@platforms//os:linux",
- "@platforms//cpu:{}".format(zigcpu),
- ],
- tool_paths =3D {"ld": "ld.lld"},
- )
-
# Official recommended version. Should use this when we have a usable releas=
e.
URL_FORMAT_RELEASE =3D "https://ziglang.org/download/{version}/zig-{host_pla=
tform}-{version}.tar.xz"
=20
@@ -192,7 +68,6 @@ def register_toolchains(
toolchains =3D ["@zig_sdk//:toolchain:%s" % t for t in register]
native.register_toolchains(*toolchains)
=20
-ZIG_TOOL_PATH =3D "tools/{zig_tool}"
ZIG_TOOL_WRAPPER =3D """#!/bin/bash
set -e
=20
@@ -297,14 +172,7 @@ zig_repository =3D repository_rule(
implementation =3D _zig_repository_impl,
)
=20
-def _target_structs():
- ret =3D []
- for zigcpu, gocpu in (("x86_64", "amd64"), ("aarch64", "arm64")):
- ret.append(_target_darwin(gocpu, zigcpu))
- ret.append(_target_linux_musl(gocpu, zigcpu))
- for glibc in [""] + _GLIBCS:
- ret.append(_target_linux_gnu(gocpu, zigcpu, glibc))
- return ret
+
=20
def filegroup(name, **kwargs):
native.filegroup(name =3D name, **kwargs)
@@ -317,84 +185,8 @@ def declare_files(zig_include_root):
=20
lazy_filegroups =3D {}
=20
- for target_config in _target_structs():
+ for target_config in target_structs():
for d in DEFAULT_INCLUDE_DIRECTORIES + target_config.includes:
d =3D zig_include_root + d
if d not in lazy_filegroups:
lazy_filegroups[d] =3D filegroup(name =3D d, srcs =3D native=
.glob([d + "/**"]))
-
-
-def declare_toolchains(absolute_path, zig_include_root):
- for target_config in _target_structs():
- gotarget =3D target_config.gotarget
- zigtarget =3D target_config.zigtarget
-
- cxx_builtin_include_directories =3D []
- for d in DEFAULT_INCLUDE_DIRECTORIES + target_config.includes:
- d =3D zig_include_root + d
- cxx_builtin_include_directories.append(absolute_path + "/" + d)
- for d in getattr(target_config, "toplevel_include", []):
- cxx_builtin_include_directories.append(absolute_path + "/" + d)
-
- absolute_tool_paths =3D {}
- for name, path in target_config.tool_paths.items() + DEFAULT_TOOL_PA=
THS:
- if path[0] =3D=3D "/":
- absolute_tool_paths[name] =3D path
- continue
- tool_path =3D ZIG_TOOL_PATH.format(zig_tool =3D path)
- absolute_tool_paths[name] =3D "%s/%s" % (absolute_path, tool_pat=
h)
-
- linkopts =3D target_config.linkopts
- copts =3D target_config.copts
- for s in getattr(target_config, "linker_version_scripts", []):
- linkopts =3D linkopts + ["-Wl,--version-script,%s/%s" % (absolut=
e_path, s)]
- for incl in getattr(target_config, "compiler_extra_includes", []):
- copts =3D copts + ["-include", absolute_path + "/" + incl]
-
- zig_cc_toolchain_config(
- name =3D zigtarget + "_cc_config",
- target =3D zigtarget,
- tool_paths =3D absolute_tool_paths,
- cxx_builtin_include_directories =3D cxx_builtin_include_director=
ies,
- copts =3D copts,
- linkopts =3D linkopts,
- target_cpu =3D target_config.bazel_target_cpu,
- target_system_name =3D "unknown",
- target_libc =3D "unknown",
- compiler =3D "clang",
- abi_version =3D "unknown",
- abi_libc_version =3D "unknown",
- )
-
- native.cc_toolchain(
- name =3D zigtarget + "_cc",
- toolchain_identifier =3D zigtarget + "-toolchain",
- toolchain_config =3D ":%s_cc_config" % zigtarget,
- all_files =3D "@zig_sdk//:zig",
- ar_files =3D "@zig_sdk//:zig",
- compiler_files =3D "@zig_sdk//:zig",
- linker_files =3D "@zig_sdk//:zig",
- dwp_files =3D "@zig_sdk//:empty",
- objcopy_files =3D "@zig_sdk//:empty",
- strip_files =3D "@zig_sdk//:empty",
- supports_param_files =3D 0,
- )
-
- # register two kinds of toolchain targets: Go and Zig conventions.
- # Go convention: amd64/arm64, linux/darwin
- native.toolchain(
- name =3D gotarget,
- exec_compatible_with =3D None,
- target_compatible_with =3D target_config.constraint_values,
- toolchain =3D ":%s_cc" % zigtarget,
- toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
- )
-
- # Zig convention: x86_64/aarch64, linux/macos
- native.toolchain(
- name =3D zigtarget,
- exec_compatible_with =3D None,
- target_compatible_with =3D target_config.constraint_values,
- toolchain =3D ":%s_cc" % zigtarget,
- toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
- )
diff --git a/toolchain/private/BUILD b/toolchain/private/BUILD
new file mode 100644
index 0000000..e69de29
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
new file mode 100644
index 0000000..8380071
--- /dev/null
+++ b/toolchain/private/defs.bzl
@@ -0,0 +1,124 @@
+DEFAULT_INCLUDE_DIRECTORIES =3D [
+ "include",
+ "libcxx/include",
+ "libcxxabi/include",
+]
+
+ZIG_TOOL_PATH =3D "tools/{zig_tool}"
+
+# Zig supports even older glibcs than defined below, but we have tested only
+# down to 2.17.
+# $ zig targets | jq -r '.glibc[]' | sort -V
+_GLIBCS =3D [
+ "2.17",
+ "2.18",
+ "2.19",
+ "2.22",
+ "2.23",
+ "2.24",
+ "2.25",
+ "2.26",
+ "2.27",
+ "2.28",
+ "2.29",
+ "2.30",
+ "2.31",
+ "2.32",
+ "2.33",
+ "2.34",
+]
+
+def target_structs():
+ ret =3D []
+ for zigcpu, gocpu in (("x86_64", "amd64"), ("aarch64", "arm64")):
+ ret.append(_target_darwin(gocpu, zigcpu))
+ ret.append(_target_linux_musl(gocpu, zigcpu))
+ for glibc in [""] + _GLIBCS:
+ ret.append(_target_linux_gnu(gocpu, zigcpu, glibc))
+ return ret
+
+def _target_darwin(gocpu, zigcpu):
+ min_os =3D "10"
+ if zigcpu =3D=3D "aarch64":
+ min_os =3D "11"
+ return struct(
+ gotarget =3D "darwin_{}".format(gocpu),
+ zigtarget =3D "{}-macos-gnu".format(zigcpu),
+ includes =3D [
+ "libunwind/include",
+ # TODO: Define a toolchain for each minimum OS version
+ "libc/include/{}-macos.{}-gnu".format(zigcpu, min_os),
+ "libc/include/any-macos.{}-any".format(min_os),
+ "libc/include/any-macos-any",
+ ],
+ linkopts =3D [],
+ copts =3D [],
+ bazel_target_cpu =3D "darwin",
+ constraint_values =3D [
+ "@platforms//os:macos",
+ "@platforms//cpu:{}".format(zigcpu),
+ ],
+ tool_paths =3D {"ld": "ld64.lld"},
+ )
+
+def _target_linux_gnu(gocpu, zigcpu, glibc_version =3D ""):
+ glibc_suffix =3D "gnu"
+ if glibc_version !=3D "":
+ glibc_suffix =3D "gnu.{}".format(glibc_version)
+
+ # https://github.com/ziglang/zig/issues/5882#issuecomment-888250676
+ # fcntl_hack is only required for glibc 2.27 or less. We assume that
+ # glibc_version =3D=3D "" (autodetect) is running a recent glibc version=
, thus
+ # adding this hack only when glibc is explicitly 2.27 or lower.
+ fcntl_hack =3D False
+ if glibc_version =3D=3D "":
+ # zig doesn't reliably detect the glibc version, so
+ # often falls back to 2.17; the hack should be included.
+ # https://github.com/ziglang/zig/issues/6469
+ fcntl_hack =3D True
+ else:
+ # hack is required for 2.27 or less.
+ fcntl_hack =3D glibc_version < "2.28"
+
+ return struct(
+ gotarget =3D "linux_{}_{}".format(gocpu, glibc_suffix),
+ zigtarget =3D "{}-linux-{}".format(zigcpu, glibc_suffix),
+ includes =3D [
+ "libunwind/include",
+ "libc/include/generic-glibc",
+ "libc/include/any-linux-any",
+ "libc/include/{}-linux-gnu".format(zigcpu),
+ "libc/include/{}-linux-any".format(zigcpu),
+ ] + (["libc/include/x86-linux-any"] if zigcpu =3D=3D "x86_64" else [=
]),
+ toplevel_include =3D ["glibc-hacks"] if fcntl_hack else [],
+ compiler_extra_includes =3D ["glibc-hacks/glibchack-fcntl.h"] if fcn=
tl_hack else [],
+ linker_version_scripts =3D ["glibc-hacks/fcntl.map"] if fcntl_hack e=
lse [],
+ linkopts =3D ["-lc++", "-lc++abi"],
+ copts =3D [],
+ bazel_target_cpu =3D "k8",
+ constraint_values =3D [
+ "@platforms//os:linux",
+ "@platforms//cpu:{}".format(zigcpu),
+ ],
+ tool_paths =3D {"ld": "ld.lld"},
+ )
+
+def _target_linux_musl(gocpu, zigcpu):
+ return struct(
+ gotarget =3D "linux_{}_musl".format(gocpu),
+ zigtarget =3D "{}-linux-musl".format(zigcpu),
+ includes =3D [
+ "libc/include/generic-musl",
+ "libc/include/any-linux-any",
+ "libc/include/{}-linux-musl".format(zigcpu),
+ "libc/include/{}-linux-any".format(zigcpu),
+ ] + (["libc/include/x86-linux-any"] if zigcpu =3D=3D "x86_64" else [=
]),
+ linkopts =3D ["-s", "-w"],
+ copts =3D ["-D_LIBCPP_HAS_MUSL_LIBC", "-D_LIBCPP_HAS_THREAD_API_PTHR=
EAD"],
+ bazel_target_cpu =3D "k8",
+ constraint_values =3D [
+ "@platforms//os:linux",
+ "@platforms//cpu:{}".format(zigcpu),
+ ],
+ tool_paths =3D {"ld": "ld.lld"},
+ )
diff --git a/toolchain/toolchain/BUILD.sdk.bazel b/toolchain/toolchain/BUILD.=
sdk.bazel
index 4b505dc..7cbca73 100644
--- a/toolchain/toolchain/BUILD.sdk.bazel
+++ b/toolchain/toolchain/BUILD.sdk.bazel
@@ -1,4 +1,4 @@
-load("@bazel-zig-cc//toolchain:defs.bzl", "declare_toolchains")
+load("@bazel-zig-cc//toolchain/toolchain:defs.bzl", "declare_toolchains")
=20
package(
default_visibility =3D ["//visibility:public"],
diff --git a/toolchain/toolchain/defs.bzl b/toolchain/toolchain/defs.bzl
new file mode 100644
index 0000000..1b0c087
--- /dev/null
+++ b/toolchain/toolchain/defs.bzl
@@ -0,0 +1,87 @@
+load("@bazel-zig-cc//toolchain:zig_toolchain.bzl", "zig_cc_toolchain_config")
+load("@bazel-zig-cc//toolchain/private:defs.bzl", "DEFAULT_INCLUDE_DIRECTORI=
ES", "ZIG_TOOL_PATH", "target_structs")
+
+DEFAULT_TOOL_PATHS =3D {
+ "ar": "ar",
+ "gcc": "c++", # https://github.com/bazelbuild/bazel/issues/4644
+ "cpp": "/usr/bin/false",
+ "gcov": "/usr/bin/false",
+ "nm": "/usr/bin/false",
+ "objdump": "/usr/bin/false",
+ "strip": "/usr/bin/false",
+}.items()
+
+def declare_toolchains(absolute_path, zig_include_root):
+ for target_config in target_structs():
+ gotarget =3D target_config.gotarget
+ zigtarget =3D target_config.zigtarget
+
+ cxx_builtin_include_directories =3D []
+ for d in DEFAULT_INCLUDE_DIRECTORIES + target_config.includes:
+ d =3D zig_include_root + d
+ cxx_builtin_include_directories.append(absolute_path + "/" + d)
+ for d in getattr(target_config, "toplevel_include", []):
+ cxx_builtin_include_directories.append(absolute_path + "/" + d)
+
+ absolute_tool_paths =3D {}
+ for name, path in target_config.tool_paths.items() + DEFAULT_TOOL_PA=
THS:
+ if path[0] =3D=3D "/":
+ absolute_tool_paths[name] =3D path
+ continue
+ tool_path =3D ZIG_TOOL_PATH.format(zig_tool =3D path)
+ absolute_tool_paths[name] =3D "%s/%s" % (absolute_path, tool_pat=
h)
+
+ linkopts =3D target_config.linkopts
+ copts =3D target_config.copts
+ for s in getattr(target_config, "linker_version_scripts", []):
+ linkopts =3D linkopts + ["-Wl,--version-script,%s/%s" % (absolut=
e_path, s)]
+ for incl in getattr(target_config, "compiler_extra_includes", []):
+ copts =3D copts + ["-include", absolute_path + "/" + incl]
+
+ zig_cc_toolchain_config(
+ name =3D zigtarget + "_cc_config",
+ target =3D zigtarget,
+ tool_paths =3D absolute_tool_paths,
+ cxx_builtin_include_directories =3D cxx_builtin_include_director=
ies,
+ copts =3D copts,
+ linkopts =3D linkopts,
+ target_cpu =3D target_config.bazel_target_cpu,
+ target_system_name =3D "unknown",
+ target_libc =3D "unknown",
+ compiler =3D "clang",
+ abi_version =3D "unknown",
+ abi_libc_version =3D "unknown",
+ )
+
+ native.cc_toolchain(
+ name =3D zigtarget + "_cc",
+ toolchain_identifier =3D zigtarget + "-toolchain",
+ toolchain_config =3D ":%s_cc_config" % zigtarget,
+ all_files =3D "@zig_sdk//:zig",
+ ar_files =3D "@zig_sdk//:zig",
+ compiler_files =3D "@zig_sdk//:zig",
+ linker_files =3D "@zig_sdk//:zig",
+ dwp_files =3D "@zig_sdk//:empty",
+ objcopy_files =3D "@zig_sdk//:empty",
+ strip_files =3D "@zig_sdk//:empty",
+ supports_param_files =3D 0,
+ )
+
+ # register two kinds of toolchain targets: Go and Zig conventions.
+ # Go convention: amd64/arm64, linux/darwin
+ native.toolchain(
+ name =3D gotarget,
+ exec_compatible_with =3D None,
+ target_compatible_with =3D target_config.constraint_values,
+ toolchain =3D ":%s_cc" % zigtarget,
+ toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
+ )
+
+ # Zig convention: x86_64/aarch64, linux/macos
+ native.toolchain(
+ name =3D zigtarget,
+ exec_compatible_with =3D None,
+ target_compatible_with =3D target_config.constraint_values,
+ toolchain =3D ":%s_cc" % zigtarget,
+ toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
+ )
--=20
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51])
by mail-b.sr.ht (Postfix) with ESMTPS id D9FEC11EF31
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 7 Apr 2022 10:16:27 +0000 (UTC)
Received: by mail-lf1-f51.google.com with SMTP id t25so8768526lfg.7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 07 Apr 2022 03:16:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=5CcT+69xbBgEfxFL90+YhwoI1iopbKQyy7Oi4opMTIo=;
b=WNQLVGqkd80D1Sm/Bfg3bmp/ynq5+d2t4yMiCcaS5ijR8tzSBD2ewFCCYO6rmEt3rN
EgssWTJvHJ9cGVMB8k2ckF74+UvQUO4H/VKEqEkLiOy8xMpJAxtSFa21n4PjAOWchxQN
CZ1vVmgVM68w3mKfoz92ah96+cb+ZTr8BDjnEevZphe+JnTnNPBZvHsUBvAIolRv6Dwg
nSMlG6TvQvsWdPug+9oZxRGidUpgazXaDLT3g4LGcEz8AyC1GZJVTQoaZreRziWWeF88
zBQa9ATBItAAtHBA0zWKlO2x4+5qTJk9CmFKWJek018+i4hp2AGKaxY9GUIexq6QpQ5W
obGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=5CcT+69xbBgEfxFL90+YhwoI1iopbKQyy7Oi4opMTIo=;
b=YhFHoqEerjfIciMqFQcFW6XlcmM0SFvzFmVpIfvBBzhM/mGcqD9ABPjOgog1WbLH6x
sp/aMZdeWURMfxcEiGFzqJxxRYTO0QVH4sVFqDz1Yph7p6QRbVZkFnubcqxK8frv/gEw
LW1zj1gg7ELhhMOyZrXuPuzWhGgIIj3tF3PWyF8Q09GX7fUUe0itt/Mc6/Ohh9h/4yLo
54QUc+NEcBdEc3QYsEVGElbEjFubD6nCJHFHI4m9q4T9KuEdEnIEHaYlYW8f7nqz6Tuj
b9Yd9o9xo+tXEGedd7sX7QsTxP4m0mpK7kUHi5B14u9fYe1vSmTi5zEVTl5ihT7ARcKi
dDng==
X-Gm-Message-State: AOAM532qmhQiEFzNxou2eb+eEvZXItLxJZCh4JqPJbRUeVx4UTFd1uHr
0X/kEjn6J/NE0+7UPzoqovuzemPp0rI=
X-Google-Smtp-Source: ABdhPJzBikjzOYpY5FJD64W5d9x0JHb/4ZzQTYtpxW37qmpNx0PuZ7vUcGJcyNZEtHb/l4uDER4dAQ==
X-Received: by 2002:a05:6512:2207:b0:45d:cd01:d3ca with SMTP id h7-20020a056512220700b0045dcd01d3camr9223234lfu.561.1649326586313;
Thu, 07 Apr 2022 03:16:26 -0700 (PDT)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id f15-20020a0565123b0f00b0044a29f8ec94sm2122687lfv.95.2022.04.07.03.16.25
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 07 Apr 2022 03:16:25 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Thu, 7 Apr 2022 13:16:25 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: RW access to contributors; talk in zig meetup
Message-ID: <20220407101625.aahrqx4fa4qme56i@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
As I've received significant contributions from Ken Micklas and Laurynas
Lubys, I decided to grant them write access to bazel-zig-cc. Here is an
email I've sent them privately with the rules:
- When WIP, feel free to push your code to <your name>/<feature name>
branch. Remove the branch when done.
- When ready for merging, push it to the `next` branch and ping me.
- I will keep merging to `main`, tagging the releases keep emailing the
announcements.
That way, `main` will still have the latest tagged release signed by me.
I will also be talking about bazel-zig-cc in the upcoming Zig meetup
this weekend[1]. I was also listed in Google FOSS peer award and
"earned" $250 for bazel-zig-cc[2]. Thanks Google!
Regards,
Motiejus
[1]: https://twitter.com/croloris/status/1511342711764303890
[2]: https://opensource.googleblog.com/2022/03/Announcing-First-Group-of-Google-Open-Source-Peer-Bonus-Winners-in-2022.html
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174])
by mail-b.sr.ht (Postfix) with ESMTPS id EC4CF11EF0D
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 7 Apr 2022 11:46:53 +0000 (UTC)
Received: by mail-lj1-f174.google.com with SMTP id m12so7091213ljp.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 07 Apr 2022 04:46:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=n3IIP9b/dm6u4Ogk5WbyKAVibt9GhM62nPVV/n4RUwk=;
b=padVY/+QQ/vqOrkAO5EDkuy3Q71mz0nCyzYt7PzYZBn1TakTVltTOOOAt1dWqai4ZW
4UCaCWTTXp1QsTY1Jhy3jk1+VtNmwE5hCnog/oBLKyTZy9VG9oJCufZ98C0NhZH6QYWm
/kV//4KYHgLBYm4xMVXqrQZDWUFqDOSBbobqqvXhDyFYCoJ0I2hE2am34t3t6iRTXnPi
YBk3eHlG1YxdHJVAy9m/tPTdVoG7vJDMqvRWpdTO4bj/2y/mZsv+6EC+F++G4EaFqDU+
lkF0LqOOyXOjhPXH9mTDWDplqUGCOQpohocBkiklULHK9EOI6a2978e/xzVzXHXbrDUA
ISFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=n3IIP9b/dm6u4Ogk5WbyKAVibt9GhM62nPVV/n4RUwk=;
b=r6pUU4alpx0qxQLSeUrJJAZg3pPmByXNg4yS6TUtdO6XiMpFn+l/UbHfRI+j1kOze9
CjQBgMjN7cbD/qCDHmj5DcJ2stVmXB6w7JgplKWJKztHjZz7Xp7/dal13mWBJYY6bA0B
tvk8GqbCWxKg1hjKHBQjVbonY7olfqYmvPLjrltNLWdMdhP0iYZi1Jx0Efbwo0wZYlyG
u0GtCRmZo6mbncqqY0buGAZrbbZDyzmlYvoiiQgzDjVxJ2OArhC7JKzs4Oy4MrCVmcc2
n44RukxntoB1JICgxjTuP1tOVJwtqnWJozy8sMj/gIiAC4sxSUh0WpaGMnDSIMn6fPwk
5kCg==
X-Gm-Message-State: AOAM532EiS0iNVxCL7f5RMo6C8NBMUh6+ZBmA8E2RCXRiKL5Of0tbCRK
Hio5r/zbebNRN9d5Qh9cHVSnLnIFtG0=
X-Google-Smtp-Source: ABdhPJw8kmQ9cjm9v6O7vVVO/LcYYG2JfwlxfdYcNwo3ggshEQ11R2kprT9RNkXkRhfStSdk8IkNFw==
X-Received: by 2002:a2e:b8cb:0:b0:24b:16a3:ed9d with SMTP id s11-20020a2eb8cb000000b0024b16a3ed9dmr8241447ljp.393.1649332012561;
Thu, 07 Apr 2022 04:46:52 -0700 (PDT)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id e23-20020a196917000000b00464f74b2245sm134248lfc.252.2022.04.07.04.46.51
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 07 Apr 2022 04:46:51 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Thu, 7 Apr 2022 14:46:50 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.6.0
Message-ID: <20220407114650.uvdymzjjrdpwy6ei@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
this change is a breaking change to bazel-zig-cc. Main points (from changelog):
### [laurynasl] Hide toolchain internals
This is a long-standing issue where platforms, toolchains and private stuff was
mixed together. Now platforms and toolchains are defined in their own
namespaces:
$ bazel query @zig_sdk//platform:*
@zig_sdk//platform:BUILD
@zig_sdk//platform:darwin_aarch64
@zig_sdk//platform:darwin_amd64
@zig_sdk//platform:darwin_arm64
@zig_sdk//platform:darwin_x86_64
@zig_sdk//platform:linux_aarch64
@zig_sdk//platform:linux_amd64
@zig_sdk//platform:linux_arm64
@zig_sdk//platform:linux_x86_64
@zig_sdk//platform:macos_aarch64
@zig_sdk//platform:macos_amd64
@zig_sdk//platform:macos_arm64
@zig_sdk//platform:macos_x86_64
$ bazel query @zig_sdk//toolchain:* | head -10
Loading: 0 packages loaded
@zig_sdk//toolchain:BUILD
@zig_sdk//toolchain:aarch64-linux-gnu
@zig_sdk//toolchain:aarch64-linux-gnu.2.17
@zig_sdk//toolchain:aarch64-linux-gnu.2.18
@zig_sdk//toolchain:aarch64-linux-gnu.2.19
@zig_sdk//toolchain:aarch64-linux-gnu.2.22
@zig_sdk//toolchain:aarch64-linux-gnu.2.23
@zig_sdk//toolchain:aarch64-linux-gnu.2.24
@zig_sdk//toolchain:aarch64-linux-gnu.2.25
@zig_sdk//toolchain:aarch64-linux-gnu.2.26
Thanks Laurynas!
### [Ken Micklas] Upgrade to Bazel 5.1.0
... we now require minimal bazel 5.1.0. And there are some other minor
CI improvements, like specifying golang version for reproducibility.
Laurynas is preparing a different way to specify musl and glibc
platforms by selecting the platform, not the toolchain. This should
happen soon. This was desirable from day 0, but I couldn't make it
happen reliably at the time, so resorted to `--extra_toolchains`.
Looking forward to it!
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45])
by mail-b.sr.ht (Postfix) with ESMTPS id 26EB511EF0D
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 7 Apr 2022 11:59:00 +0000 (UTC)
Received: by mail-lf1-f45.google.com with SMTP id j9so1115535lfe.9
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 07 Apr 2022 04:59:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:references:mime-version
:content-disposition:content-transfer-encoding:in-reply-to;
bh=qPvE8Z3jxFbO8/hk/7iLyvO8AvuVK1BVd14aRCHEq9Q=;
b=oHQTT3iCEJtVOWQUpeJMxTuzSU8kBCJr+Rhre09sno6wm9JMS+4XMD5Mk89ZzsblLg
rvecwfi75VwCYUgp/Nj5yRnQI2K8KTeNkRUCB7GTd9oF7NuZsxC8+GxH9TxR8xqvODLw
yk03ZdPwvg/UvkNWgNLBOE2gYcuXN3fagTuWe/FjfEZMmjvt1SthbmZZFJYRjwoS2cIK
9btIhIMkl9TU6CjKwhLSqkO8oK/jfuH0A6bwa98Vq9vaoT9KTXGC+0rzmLVXa0QvpzgM
gSVt3JGjtNpasYkEvykRqNiL9IF+ybEuS3v8ooWJLBS7OvvbXkmlHa6upqlUIBZs0fDY
YI7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:references:mime-version:content-disposition
:content-transfer-encoding:in-reply-to;
bh=qPvE8Z3jxFbO8/hk/7iLyvO8AvuVK1BVd14aRCHEq9Q=;
b=vLTlF5zQFcCkVWc3pTkrSl6laNqNX+7U4OFZjoQF5w+Q3R9baAMbTjeuN91+rgoAlY
I35XRrUryuCQQGPsCWfFmTriUcRraq2lg7wqedf9mCCQrd6DzQsYD9EFeDuftP0nYw4E
/B/eHXdWqFJJZ/LeFg1tsAqPywtvqkog69NFfwjlVCCHoswHLeoNzMmJbeIhvKIzHFZ9
JYhyLXbsYQ5mH8BhIXP3vVX9/dBaTml53KifDPhAK5+a+WBTpDp4FMq5Fo6uHRtCCvph
ftoxdhzDD5cCuI0333ObESfY8C9auh++SpJB8VoKE47mqGqxTTwbG5OAihnSootP455N
FOdg==
X-Gm-Message-State: AOAM530+ADb6PNwhrVoZ2Pvix6HxW85gaJulXtWffYEtq0aRR5C1oF1j
sesRfuRME7Q/fPVchsNpjYzTrfAB10o=
X-Google-Smtp-Source: ABdhPJyoV6RBbcMPkh4E6B56JGD/HqTSZPMCZFPKWkImrBLr2QckR6kmYKhjvASHRiZbtHuDLq17dw==
X-Received: by 2002:a05:6512:2252:b0:44a:3038:cbc with SMTP id i18-20020a056512225200b0044a30380cbcmr9119693lfu.252.1649332738955;
Thu, 07 Apr 2022 04:58:58 -0700 (PDT)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id y5-20020a2e3205000000b0024b045e3b18sm1824027ljy.66.2022.04.07.04.58.58
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 07 Apr 2022 04:58:58 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Thu, 7 Apr 2022 14:58:57 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: RW access to contributors; talk in zig meetup
Message-ID: <20220407115857.q2gikkc624j2eyp2@mtpad.i.jakstys.lt>
References: <20220407101625.aahrqx4fa4qme56i@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220407101625.aahrqx4fa4qme56i@mtpad.i.jakstys.lt>
Hi all,
Slight rule correction:
On Thu, Apr 07, 2022 at 01:16:25PM +0300, Motiejus Jakštys wrote:
> - When ready for merging, push it to the `next` branch and ping me.
Since I allow for force-pushes, we have 3 contributors, `next` doesn't
make sense. So push to "your" branch (<your name>/<feature slug>) and
I'll merge from there.
So we should have only those branches in ~motiejus/bazel-zig-cc:
- `main`: passes CI and is always the latest released tag.
- for our sandbox work: `motiejus/<X>`, `laurynasl/<X>`,
`kmicklas/<X>`. You are the boss there.
There seems to be a problem with sourcehut picking the patches from the
mailing list, which I reported to `#sr.ht:libera.chat`:
UI-generated patchset
(https://lists.sr.ht/~motiejus/bazel-zig-cc/%3C164932427279.26543.1789507091630612744-0%40git.sr.ht%3E)
did not end up in https://lists.sr.ht/~motiejus/bazel-zig-cc/patches
and, consequently, did not trigger a CI run. Is this appropriate
place to report it? Happened ~1 hour ago.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 82D7C11EF2F
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 8 Apr 2022 13:03:53 +0000 (UTC)
From: ~laurynasl <laurynasl@git.sr.ht>
Date: Fri, 08 Apr 2022 13:03:53 +0000
Subject:
[PATCH bazel-zig-cc 0/1] Fix the register parameter in register toolchain
MIME-Version: 1.0
Message-ID: <164942303327.26005.14403108374611803240-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~laurynasl <laurynasl@uber.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Looks like this slipped through the CI. We should think about how to
catch cases like these.
laurynasl (1):
Fix register toolchain
toolchain/defs.bzl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 9D4EB11EF52
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 8 Apr 2022 13:03:53 +0000 (UTC)
From: ~laurynasl <laurynasl@git.sr.ht>
Date: Fri, 08 Apr 2022 12:55:52 +0000
Subject: [PATCH bazel-zig-cc 1/1] Fix register toolchain
Message-ID: <164942303327.26005.14403108374611803240-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~laurynasl <laurynasl@uber.com>
In-Reply-To: <164942303327.26005.14403108374611803240-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
From: laurynasl <laurynasl@uber.com>
---
toolchain/defs.bzl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index ebcb65e..9e34e6b 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -65,7 +65,7 @@ def register_toolchains(
},
)
- toolchains = ["@zig_sdk//:toolchain:%s" % t for t in register]
+ toolchains = ["@zig_sdk//toolchain:%s" % t for t in register]
native.register_toolchains(*toolchains)
ZIG_TOOL_WRAPPER = """#!/bin/bash
--
2.34.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=YOJYgIRj5Efp6IEK+Upr03ayDJNyfjbPpxDgRvSeIe4=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1649423871; v=1;
b=SvfvUpxx4SspZsLgBcrQnFjUzHEuh8tlyXSVomm/BKNwgYNa9xKwsKxFpjdNZo03+CnJ6VN9
f0d61GSdt4hYH8fX3pedL4BU7m4UzzercYw4hNuqXsM4LaNcsr2WspELZf3rFy95EqEKBzgeLk6
c5eEENfDGxnu8MRQ20KsKzRVQpXc9ji6yRsLWnFgsYB0ILzZk3+4wUyQ8CA3VwyrUrWP9BZeT/Z
QLE4h+6VHGbbkH4ALEh2AWG+ziVMDK9/fcbd2lPxOkxJDSRG2NDnj2QNl3aJ6pemxHOsFSwUsnZ
1/6RYkJAPt4IoVFggK7R0Q0NI3rd8kdntqu7kDjtm6MCg==
Received: from localhost (unknown [173.195.146.244])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 2D9DE11EF2F;
Fri, 8 Apr 2022 13:17:51 +0000 (UTC)
MIME-Version: 1.0
Date: Fri, 08 Apr 2022 13:17:51 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CJ4VYPONM9FI.3QD09NITLDE94@cirno2>
In-Reply-To: <164942303327.26005.14403108374611803240-1@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~laurynasl" <laurynasl@uber.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 13m56s
[Fix the register parameter in register toolchain][0] from [~laurynasl][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/30909
[1]: mailto:laurynasl@uber.com
=E2=9C=93 #732421 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/732421
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51])
by mail-b.sr.ht (Postfix) with ESMTPS id E328611EF8D
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 8 Apr 2022 21:15:40 +0000 (UTC)
Received: by mail-ed1-f51.google.com with SMTP id g20so11420427edw.6
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 08 Apr 2022 14:15:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:in-reply-to;
bh=T6ualBv4fzgTEhmeVIagcPsiNBDA5mkwh+NR7uMFVLg=;
b=K8lk9/iOmrZB9FULwWp+0/mcmrFO5pUlzPmV4/RAzC/lAnwVB5ZbK5NDXQLAlG502e
y3uNgEv1bRK227X5QgJKjhocaOgfG7RcP6LdXqSyVE4MKHmWpB3IESPqcPwczK0mvU23
CpMaXT4qXwS2b/sTc+Arg0iOP7URGx0aiRe1VClCce6E09pRJYSfcge5T7GEusuIlhGv
SMwykkPtL7SDqebDyYcnwXFqe/qb7tBNSHEiISLm/d35SXxWfAyvrAE0w+KfglNxjNvP
QlMKoYcmEWhWGdtBlq+xMLTRMfbcPnZBasfPRTHU1VMxROIobLWm5rNk1m1jxewEbMmm
DEKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition:in-reply-to;
bh=T6ualBv4fzgTEhmeVIagcPsiNBDA5mkwh+NR7uMFVLg=;
b=j929qvKAagl082Cw7WtQ1T+S0InaNZ3P2a76t7PwpN/Q2i07TqB3hoHZJVQjQ2TNxc
awN2QfE56oO5xxRxS0oR8qdyvfjxxYmTDjaS4i0VxBiDAy8APtwYKRuqZKAtrYACgOz5
e0TKJk1RZOPYg2ESj3QXDjSbqTjbLtuaxTag2Xs8QFjOo2Z78GP2opCS89mCOZwnyE6W
ubtGzB9IMXQZJsNc75+QXTzomkgArFe3hwlKQ5ojmGuVl0XJRz2QTHwJEsVuOOMtuNi0
SsHITnRl6mV3HIljGRK4qWEh2cQMnQrlMUrVbrGHLGaHN+qgB5riMuPPIGujpmtOwhxL
F0jA==
X-Gm-Message-State: AOAM531QrM8GK3WxRcs9serD9D93li99uhUYDi6Hyo9+zaav/V+WJIeM
QdQogfYv97N/jw9XERh66KQ=
X-Google-Smtp-Source: ABdhPJw8/cG6HXkicieQfvpH6VtMC1UaUMBolJhrc/sba0ZG4pLrnfw3KSAVLEa4wm002/tNL3Klhg==
X-Received: by 2002:a50:c3cf:0:b0:41d:5fc4:7931 with SMTP id i15-20020a50c3cf000000b0041d5fc47931mr2070157edf.244.1649452539767;
Fri, 08 Apr 2022 14:15:39 -0700 (PDT)
Received: from localhost (host-31-196-35-164.business.telecomitalia.it. [31.196.35.164])
by smtp.gmail.com with ESMTPSA id et21-20020a170907295500b006e7f1abe2ccsm5851105ejc.75.2022.04.08.14.15.39
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 08 Apr 2022 14:15:39 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Sat, 9 Apr 2022 00:15:38 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~laurynasl <laurynasl@uber.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc 0/1] Fix the register parameter in register
toolchain
Message-ID: <20220408211538.srx5swx4reuf4n2x@mtpad.i.jakstys.lt>
References: <164942303327.26005.14403108374611803240-0@git.sr.ht>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <164942303327.26005.14403108374611803240-0@git.sr.ht>
On Fri, Apr 08, 2022 at 01:03:53PM +0000, ~laurynasl wrote:
> Looks like this slipped through the CI. We should think about how to
> catch cases like these.
I think the next step, where you suggested replacing
`--extra_toolchains` with
registering-all-toolchains-and-specifying-the-platforms, would have
helped here?
Once transitioned to platforms, I expect us to stop specifying the
`--extra_toolchains` and only use platform constraints. Then write a
couple of test targets and confirm they are building artifacts for
correct architectures
Transitions can even allow `sh_test` targets, which would run `file` on
the output binary and assert it's architecture. The `ci/test` script
would become even simpler.
> laurynasl (1):
> Fix register toolchain
>
> toolchain/defs.bzl | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Applied and released v0.6.1. Thank you.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174])
by mail-b.sr.ht (Postfix) with ESMTPS id D3B0811EF91
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 15 Apr 2022 14:07:34 +0000 (UTC)
Received: by mail-lj1-f174.google.com with SMTP id o16so9637455ljp.3
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 15 Apr 2022 07:07:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=DYZFEA10ndkjk3Nw/v/IJwhyoiaYK+RyhpqCX8E9dNI=;
b=kz97bojPLS2sAG7la0yMsahi5VXSJkYcstG0UI04sfRhEQj5jeIRzobD01qctJOzrv
Cos5ZTR03J165vE13NM4L8kXu0lO2pwqoPOO4UeZhuQKMIqevuqakIdh47CxpaGU4TEM
83pj+sTmPm4pc5KAJc+86XHUUT8X8/X6nnSNyPLR0SXNyfpZYRFkQdE0UMH6K5ef9uv3
9GPa1s5X5JA5jTxYLvnyc1e5UzT+coNadLBrbZJZXeW83Wm6Q9gcFj59GwE2vBnXBF8p
osDUkSEp1/PuvHe5ywTRsqX7uR28g23kcg2M+Vd5QGrwT8iuE857nS1IGSAmCLv9nuh1
NvcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=DYZFEA10ndkjk3Nw/v/IJwhyoiaYK+RyhpqCX8E9dNI=;
b=6xjSQans+iTR4OYcKHXsnetp3rTPpR21R/3zqmIGZO8WtYwbCKRS9BT5WewQh+zZ/+
WPYmXPY0jvPgDyH6Cx+CbgOWP8RFLZMFgR4F7NazWR3UptDF/o5JR2hRMHdP9xIOD2QY
A+L0A0LEa1ZpTI6YTONrRNCt1d6uWLmm4XyGRQNp2U4gFZ+ObQLLNHhhwjSxrzYhB+Zw
fGaFDdbtH6LMKuuGW59HH38Fh5SXUHL//+VF1xefcJ58Ppl43c4Nnys27W3XHHr+aCK9
TmXANarefB/gWc0wc3vih+AovCMlQ/kStVbfwu1ue1pOLDIKh/C82h2v9PxrpXXPP5nl
EPdw==
X-Gm-Message-State: AOAM532eXbr2h9nepWoQpDHvSDG/w0ZWY/2P5yUQofV9XP8kFrAmyGW4
6PUn6ceAUD4/ei6GK/EPUDfXq8YO14I=
X-Google-Smtp-Source: ABdhPJxY3M4sKfoYu+xn8BNqH5oPR+AUahNkb1tYOVkji8skDNsvMHnycAyZML2oMpWwVYqFSGW9kA==
X-Received: by 2002:a05:651c:154b:b0:24c:7f44:2448 with SMTP id y11-20020a05651c154b00b0024c7f442448mr4446359ljp.129.1650031653191;
Fri, 15 Apr 2022 07:07:33 -0700 (PDT)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id y21-20020a2e7d15000000b0024dab6213cfsm45129ljc.48.2022.04.15.07.07.31
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 15 Apr 2022 07:07:31 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Fri, 15 Apr 2022 17:07:30 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: upcoming changes in bazel-zig-cc v0.7
Message-ID: <20220415140730.xpx6sap4yu4bt3ix@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
Laurynas rewrote bazel-zig-cc. Now it will support specifying
arch/os/libc via *platforms* alone (provided toolchains are registered).
E.g.
--platforms @zig_sdk//libc_aware/platform:linux_amd64_gnu.2.28
--platforms @zig_sdk//libc_aware/platform:linux_amd64_musl
I intend to merge this on ~Tuesday. There will be (almost) no breaking
changes, but many new ways to use bazel-zig-cc. I am excited about this
release, as now it makes many things "right". Read the README. :)
While updating documentation, I accidentally wrote my mental model on
how `--platforms`, `--toolchains` and constraints interact. If you find
lies there, please let me know, I will un-lie them.
Here are the updated docs; notice they are much longer than the
original:
https://git.sr.ht/~motiejus/bazel-zig-cc/tree/laurynasl_libc/item/README.md?view-rendered
Thanks Laurynai!
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48])
by mail-b.sr.ht (Postfix) with ESMTPS id D2AE611EEFE
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 20 Apr 2022 09:37:41 +0000 (UTC)
Received: by mail-lf1-f48.google.com with SMTP id w1so1807094lfa.4
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 20 Apr 2022 02:37:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=e/BIiG8y5IC+Nio1ZqSP9xLinXXy6mN1Tuj5Q9vgRJ4=;
b=R6YYS60AyESm13henlgoSEcCgC6fExYNs5liGC6Xai43OaEL+3r2XmZ0jbL4p+fubO
GTYUoqCVI7n4XuB21yCQgHpir1XSC/faRC1bTL6R14HJz7yqhCSNlIxZgaCSJfl4phQO
uyyiyRHMLtExInhl0vIyf+dH5N+tW9apoFR3GAi+LVYeGqDCqDZtT7MOoBJzLGvOXhR2
gjCIsOZvagRo3IxvYv87T/2PwrnHWPsHSnYlHMGVeDl5MnRLmBGAezs3XeI343mPi2hr
20aU1EpDLJ4Z1fZZeJZDXf0D01F9jU4O7IkWILkNEKd/YYNCD9houePRvsyAVIKzS7JE
ydUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=e/BIiG8y5IC+Nio1ZqSP9xLinXXy6mN1Tuj5Q9vgRJ4=;
b=CJaYLURaogIn3HjAmu0vyIlIVRMU53J48fS32VIhvax6GfSyFcg5xrMSgYY06lL5rJ
CRgPC2lPq2DoMDx3li4Kuk9zrMfcHU/ri9xT5nsavxTjt/KwtDVhtbrf56ixqfMNMOGp
prwPYjBPuAyBlIeVUhTQ/HR7lmd6MVK8VUg24ubXmlGFhcOMElJTK4+iVzpqNxTWRKYy
9+cPB91TaGO6fwP+LaqsLa5GS9cUgBGvAgICl4iIKIQ+dOeB1mt41YLyfgHNAaVkwihO
eKXqpSslGlRQQtPgDqerU54PMUfCmTKwCdYM/Q9DMelaUDxbeL7xKAw+4PdkVcs9X/5F
k4cw==
X-Gm-Message-State: AOAM530+qV2Jf95daul3BUlni1Cm8y016QwMs7bQ9jeiHQ4TehGbueMR
MrqtBCzPZfVmyyu3xXYzg1EXyTOhZZg=
X-Google-Smtp-Source: ABdhPJwDJH7o0BLFkci7pYyyQS2lkVpxPUS8QhSaXjtLKDtA2gQGfyj7baifuoui/IZYMESX4qnKfw==
X-Received: by 2002:a05:6512:3d94:b0:471:2436:f8f4 with SMTP id k20-20020a0565123d9400b004712436f8f4mr12131641lfv.441.1650447459162;
Wed, 20 Apr 2022 02:37:39 -0700 (PDT)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id s12-20020ac25fac000000b004435e2e0a08sm1773901lfe.251.2022.04.20.02.37.37
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 20 Apr 2022 02:37:38 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Wed, 20 Apr 2022 12:37:36 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.7.0
Message-ID: <20220420093736.x4hjjpkkkzvjolsa@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
I've released bazel-zig-cc v0.7.0. It's a rewrite by laurynasl@ and
major documentation upgrade by myself.
Incompatible changes
--------------------
1. `register_toolchains` renamed to `toolchains`. Before:
load("@bazel-zig-cc//toolchain:defs.bzl", zig_register_toolchains = "register_toolchains")
After:
load("@bazel-zig-cc//toolchain:defs.bzl", zig_toolchains = "toolchains")
2. `toolchains(register = ...)` was removed. You should be registering
the toolchains directly in the WORKSPACE or via `.bazelrc` (see README).
3. "glibc version autodetection" is removed: the glibc version must now
be always specified.
New Features
------------
1. Now one can specify the libc variant (glibc+version or libc) via
`--platforms` alone. See README.
2. Internal: more examples with multiple architectures, transitions, and
a new "C" test case.
Ecosystem
---------
While testing this internally, we've realized that the new version of
rules_docker[1] is not compatible with the new libc-in-the-platform
feature, since the libc version is *part of the platform now*. Laurynas
will comment in the PR with more details.
Enjoy!
Motiejus
[1]: https://github.com/bazelbuild/rules_docker/pull/1963
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=uber.com header.i=@uber.com
Received: from mail-yb1-f173.google.com (mail-yb1-f173.google.com [209.85.219.173])
by mail-b.sr.ht (Postfix) with ESMTPS id 7F24311EEFE
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 20 Apr 2022 12:20:37 +0000 (UTC)
Received: by mail-yb1-f173.google.com with SMTP id m132so2520419ybm.4
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 20 Apr 2022 05:20:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=uber.com; s=google;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=Si4fflkXFvBbGMHW6tzu8X1ndgXjt2CVYKJ63HXkqsU=;
b=wkLIewIZTdy5Yo2bypHKpzs9BCFUb5hiHPrJzkEX38yMcm6aeQ/uWqtqTFvvLQOrw2
Miirr9R3V7rw73x7zjvtRSP3fh17HtB7rhfTm9yAnnU6/mpnYxlVuPYR7licTwgIoUuA
u2DH3uwNXcNHa7WMa6ZNZ+ENbi/8V2vos5V/Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=Si4fflkXFvBbGMHW6tzu8X1ndgXjt2CVYKJ63HXkqsU=;
b=OVFWoGoe2wT7Y0FrrnKO8a6RErxwp4AsvBbwuXdqHPIoShi8OnwHfDwo1emuZdrvoT
DAnul7WXATL7b0rBk4Ikdkox+KcZYAob8ND81zOWu1StVevlC9DhIbdAzoZZM5BD0fkO
fOzratZXdyyxzmG/ru1hK/Q2nvYDv3gIsOnvQt6YfXHGN5ezkgSY6+/LWwXD+PL8wJBX
cpjP04Nqd4UZrQxYcdFw0wkmdtmHpr3EyUdeNwtOdjizT+rwRIkzsixsCcjUC/VfVerp
NRaJSvfrOeFG7qZPQ50tHPeFCgitKHkWK2OFPBx7fbvwx4upqugSXEmKpbblp2aJ5ouz
p4qQ==
X-Gm-Message-State: AOAM533kYOYHpPwkBnHl/dTv8qEDuWsJ0AyTeUAFS7AtPzXTG3fRTj46
3wYSTQY19hL8zTy30l1h2TsIt/wBngWYHMwC8Qqd
X-Google-Smtp-Source: ABdhPJxQzRDS8ORw5uj4MePwvOSr0rXhs0nrVKdFp6k3pRFOihTnKNwhaPTLESjIoL1MpCqEhr21SgS/WL31cDfB96w=
X-Received: by 2002:a25:bf86:0:b0:641:4772:923a with SMTP id
l6-20020a25bf86000000b006414772923amr20506048ybk.265.1650457236952; Wed, 20
Apr 2022 05:20:36 -0700 (PDT)
MIME-Version: 1.0
References: <20220420093736.x4hjjpkkkzvjolsa@mtpad.i.jakstys.lt>
In-Reply-To: <20220420093736.x4hjjpkkkzvjolsa@mtpad.i.jakstys.lt>
From: Laurynas Lubys <laurynasl@uber.com>
Date: Wed, 20 Apr 2022 15:20:26 +0300
Message-ID: <CAG09j4-XZtiP-zs6GGW=5uZrN2OZ2DcX+nD58Odpfgbc85JP8w@mail.gmail.com>
Subject: Re: bazel-zig-cc v0.7.0
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Regarding rules_docker:
In 0.23.0, rules_docker added transitions based on the architecture
and operating system specified on the container_image. The platform
transition is "hard-coded" in a sense where it will use a specific
platform that only includes the os and cpu constraints. This means
that it is not possible to provide a platform which includes a libc
version. There seem to still be some discussion on how this should
best be solved in rules_docker.
Cheers,
Laurynas
On Wed, Apr 20, 2022 at 12:37 PM Motiejus Jak=C5=A1tys <motiejus@jakstys.lt=
> wrote:
>
> Hi all,
>
> I've released bazel-zig-cc v0.7.0. It's a rewrite by laurynasl@ and
> major documentation upgrade by myself.
>
> Incompatible changes
> --------------------
>
> 1. `register_toolchains` renamed to `toolchains`. Before:
>
> load("@bazel-zig-cc//toolchain:defs.bzl", zig_register_toolchains=
=3D "register_toolchains")
>
> After:
>
> load("@bazel-zig-cc//toolchain:defs.bzl", zig_toolchains =3D "too=
lchains")
>
> 2. `toolchains(register =3D ...)` was removed. You should be registering
> the toolchains directly in the WORKSPACE or via `.bazelrc` (see READM=
E).
>
> 3. "glibc version autodetection" is removed: the glibc version must now
> be always specified.
>
> New Features
> ------------
>
> 1. Now one can specify the libc variant (glibc+version or libc) via
> `--platforms` alone. See README.
>
> 2. Internal: more examples with multiple architectures, transitions, and
> a new "C" test case.
>
> Ecosystem
> ---------
>
> While testing this internally, we've realized that the new version of
> rules_docker[1] is not compatible with the new libc-in-the-platform
> feature, since the libc version is *part of the platform now*. Laurynas
> will comment in the PR with more details.
>
> Enjoy!
> Motiejus
>
> [1]: https://github.com/bazelbuild/rules_docker/pull/1963
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173])
by mail-b.sr.ht (Postfix) with ESMTPS id 2FFBD11EFC9
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 5 May 2022 12:24:31 +0000 (UTC)
Received: by mail-lj1-f173.google.com with SMTP id 4so5354824ljw.11
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 05 May 2022 05:24:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=DPz95s72paZNhFzkhCmu5Co2WHEUgIjoRgB9imbXDeo=;
b=d0IqLFnfdu8dngOJZTw07JvW5LT9HrfCoXXQqr0Lb0L1Tc5kzU5QdBLcTo7ogw8/8C
8tsoVV0/FS1pmY6c5LvRPpdNeD/VJ1PxYbjLdw8Ffzb1BKTEHdonfT3+mV+Q233sTE52
QqP7G7kAkYrfRKrqahe7fPmZmx1qxL+VxSKfXqRO4bOIMwIqth41eLqPsexubcM3c3Qg
Hvd4lYHB7RtFnD1eXWNwlQm5Qu04CwlveRYMyYghsBIexA5amoFhozj2Yf6WdpImEjdR
FRullx436PFfMGdDuTNJpGakPgBLiy0ay6FBmQ0LEaPSdRFeS+JNtkTqQ2e0b11gC5fS
lHhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=DPz95s72paZNhFzkhCmu5Co2WHEUgIjoRgB9imbXDeo=;
b=QeqwXbc7RcTsP3r0JpOYZMzFysfTlb0oH40S3h1LQn68iLbTA5qEDg9RKF0zc8zxGv
037aAXtxGL7yCY3yDLJv0Fmtbbfw7CV8A9hG73TayW8POYCYyQbzeAiSHEfSD6HjS2sp
2siat9WQza+oyVpRjF1bc+dr/a+2L97s9JX04Hv3UvcOB0XkUXlCzH2eOeyzFF/6Fp2Q
VOaxUVtR73Wj2e9IEaCxz1Ssg0VVsVsTaRh4Hs5OwqZm3TUTgC3xIz0U2+kcYpoZO8XR
ftTcTOP9c2ZXoTTVF1NFiHqC1ct31iRInlfQVUeZU918UWiAE84LC3q2aF4krgqH+jAV
2fZQ==
X-Gm-Message-State: AOAM532917vUSn7ZJjPjTaQM0kwj5Kkg+mj61IDCIpZNLHKII2ybEjsg
mZQG5kTkYaZHfOb6s4NQ4f4ZelB/NbM=
X-Google-Smtp-Source: ABdhPJxymRE2fMyZuBWxilRsv6/J66rbJWyL0qqetIRfxJvnaTUTn9AwJzs159Bjb6wyYYoG4R++9w==
X-Received: by 2002:a05:651c:399:b0:24f:18d:5bbd with SMTP id e25-20020a05651c039900b0024f018d5bbdmr15972991ljp.481.1651753468442;
Thu, 05 May 2022 05:24:28 -0700 (PDT)
Received: from localhost (h6.n.technopolis.lt. [194.157.155.165])
by smtp.gmail.com with ESMTPSA id k30-20020a0565123d9e00b0047255d2116asm198317lfv.153.2022.05.05.05.24.27
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 05 May 2022 05:24:27 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Thu, 5 May 2022 15:24:25 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.7.1
Message-ID: <20220505122425.ipd2p6kykd7iph7b@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi everyone,
I just cut bazel-zig-cc v0.7.1, which adds a workaround for the infamous
libc linking problem:
net(.text): relocation target __errno_location not defined
net(.text): relocation target getaddrinfo not defined
<...>
Read about it, as well as related issues, in this github summary[1].
Many thanks to Andrew Kelley and Ken Micklas for working on it!
What is the cause? Because `zig cc` adds `--gc-sections` to the `ld.lld`
flags, which does not play well with cgo. So the workaround adds
`--no-gc-sections` to the linker flags for the time being.
Motiejus
[1]: https://github.com/ziglang/zig/pull/11577
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180])
by mail-b.sr.ht (Postfix) with ESMTPS id 1CB2111EE04
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 17 May 2022 12:10:08 +0000 (UTC)
Received: by mail-pg1-f180.google.com with SMTP id s68so231212pgb.13
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 17 May 2022 05:10:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:subject:message-id:mime-version
:content-disposition;
bh=IWaI4txxzUHCf/h00uDh3KfvJXVISgwnHPxQJz2ibfs=;
b=hUk9qnSPHnqyrA649fdnHmNzD1KYWH4fMC5iKz11VtaGHA/RUygB3BJEfHD5Oi//Rk
wxgyuAYJwr/TVaM0h59WgH+D+KdYYfCBJUO6FGzjt+9plpGcx472/jtd2J26zO1cePYI
vUD1YXTPYm8W87Ny+fb+uAggwd9gXZQQHRaPFcn27xeoYnunML+aQm96ZBtlkhscOZpm
H+7nQ/qGzeexY90t/P2tf970Ahpexdd5y2XXZyzeY+MZz4vkevUOwkg+aiO4hgsjISn9
m58jrnEMe6qPsD9q0UcGfMfaeD/Wv1m1C9jtSDrAv0c84dDUJVkUUpsKl0+1J3FBJ2A4
iplg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:subject:message-id
:mime-version:content-disposition;
bh=IWaI4txxzUHCf/h00uDh3KfvJXVISgwnHPxQJz2ibfs=;
b=wIbUgTGC2YcCkUB9qFfBrMHKDlMWTurA6w+Dia70qOaHYuzmyQGWk/69k8WbLZb8N1
SA5y9MAVVzrXEGPSw4n+Lf84Aiccxk1jwVE6vRf4I+e1BD67QfiCwJZKpSVIrEaB5xWK
R5k+vlmCg4ZT03xOhgfDZOXu3FbIFmJUQoBkObOmu20elI+d/iwtZ8/BVBu6itZRX6uC
R681fw7R3XD5Mvn3XRupV+V3jduoknSyGnmkWxfXT5eHU+OxdlqDehtKz3HQF6nD1Xxl
+9CYsIMOmSmPYKZZ46TsgNUZF9E9/zAIcfoHfopsw3dEcce5A/bQMs7xAR2F/U7Ss2S4
fn3A==
X-Gm-Message-State: AOAM532SuC4WNL5JVBOlC/qInJ4lDNki6O/NXhM3P7YLGWSVq12jYxM8
sL7fDNuSPX+WAknFIy36zaXvVmXZ2jU=
X-Google-Smtp-Source: ABdhPJw1d1EB0C+hU/YWdovM+HwBDdL306zXpzTdd+Fv0nkRxrtXhqJPl2JIbmaSeIHlD2iDHVlMVw==
X-Received: by 2002:a63:1b62:0:b0:3f2:5438:e553 with SMTP id b34-20020a631b62000000b003f25438e553mr11729797pgm.4.1652789406870;
Tue, 17 May 2022 05:10:06 -0700 (PDT)
Received: from localhost (88-119-96-125.static.zebra.lt. [88.119.96.125])
by smtp.gmail.com with ESMTPSA id s10-20020a17090ae68a00b001da3920d985sm1502926pjy.12.2022.05.17.05.10.05
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Tue, 17 May 2022 05:10:06 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Tue, 17 May 2022 15:10:02 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: bazel-zig-cc v0.7.2
Message-ID: <20220517121002.f4tnfcmgvk4nwbxe@mtpad.i.jakstys.lt>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi all,
It was a long time ago since the last Zig SDK update. I just released
v0.7.2, which updates the zig to tonight's build
zig-0.10.0-dev.2252+a4369918b, along with bazel-zig-cc's test
dependencies (rules_go, bazel-gazelle, golang).
Also, I removed many prehistorical zig-sdk versions from the
dl.jakstys.lt mirror and left only the ones referenced by v0.7.1 and
v0.7.2. If your build broke as a result, it's a good time to reconsider
hosting zig sdk yourself.
Regards,
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 2B1C411EEE1
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 20 May 2022 15:03:15 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1653058987;
bh=WuiZ7bx3eBUnfp4Rd/cpDWbrJ2vFH6FtT4n1wRwaYCE=;
h=From:To:Cc:Subject;
b=jZdvefn6XZoUkBiHgUFQFi/ORKH0hSpl6MW78FxvJ5uwpvv5m9icZF3zbWeJvwLUP
Bb2aPWb78td0ycMl+ZCvW3ZdCw08+dMNduegQZnryNBuGyjSvC+DUS7RCNPRYhDu3d
vuMaTddVgNaHTTp6R3FBCAjpiuEqgmi9eedchEgc=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc 0/3] Windows support
Date: Fri, 20 May 2022 16:02:29 +0100
Message-Id: <20220520150232.15515-1-fabian@hahn.graphics>
Hello there,
First of all, thank you for this great project! I was always intrigued
by zig's C/C++ compilation abilities but wasn't too keen on adopting it
as a build system. Being able to use zig as a bazel toolchain using this
project is incredible and exactly the way I always wanted to use zig.
My intended use case for bazel-zig-cc was to enable cross compilation
between the two supported platforms Linux and Windows in my project [1].
To this end, I started looking into extending bazel-zig-cc with Windows
support both as a host and target system. The attached three commits in
made this work and successfully allowed me to cross compile all of my
cc_binary targets between Linux and Windows using zig cc. That said,
they do not actually depend on each other and can be used individually.
I hope others might find them useful, too, and would like to ask you to
consider accepting them into the mainline of the project.
Best,
Fabian
[1] https://github.com/FabianHahn/shoveler
Fabian Hahn (3):
added windows host support
added support for Windows targets
added platform constraint setting for selecting if zig cc is used
toolchain/BUILD.sdk.bazel | 1 +
toolchain/defs.bzl | 58 +++++++++++++++++++++++------
toolchain/platform/BUILD | 15 ++++++++
toolchain/platform/defs.bzl | 8 +++-
toolchain/private/BUILD.sdk.bazel | 1 +
toolchain/private/cc_toolchains.bzl | 6 +--
toolchain/private/defs.bzl | 27 +++++++++++++-
7 files changed, 99 insertions(+), 17 deletions(-)
--
2.17.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 6FE2611EEFC
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 20 May 2022 15:03:15 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1653058987;
bh=M18VNogtyHCImW8/WKI5DKn27fgQ/L/hFUyDeVCjvPo=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=Z+nrbSoBHrmUF6zWjz0RpE0+aDbrYMRKtNUZMcoEn82Dq775R2ycqRoqGJmo2ly7t
zZ6zK+VTlfGykAd5BffWOtp3ofuWF8ZA3fkQoy9PIYLu/uyN4ZC+WVTSK+UznjkF6L
qmP+nvSyd9Qe9ZttsqkfBoGT7V369XNjEoGClrBs=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc 1/3] added windows host support
Date: Fri, 20 May 2022 16:02:30 +0100
Message-Id: <20220520150232.15515-2-fabian@hahn.graphics>
In-Reply-To: <20220520150232.15515-1-fabian@hahn.graphics>
References: <20220520150232.15515-1-fabian@hahn.graphics>
---
This commit adds support for Windows as a host system. For example, given
an existing bazel project on Windows, this commit enables cross
compilation to other supported target platforms of bazel-zig-cc such as
Linux. I've successfully used it to cross compile a Linux cc_binary from a
Windows machine and validated that it works correctly by copying it to a
Linux box and launching it there.
Apart from downloading the correct zig SDK version on Windows, the main
crux here was to actually make all of the zig tools properly executable.
In order for the wrapper script to be executable, it needs to be a batch
script with the proper extension instead of bash. Further, the actual
zig binary itself is called zig.exe instead of just zig on Windows.
toolchain/BUILD.sdk.bazel | 1 +
toolchain/defs.bzl | 58 +++++++++++++++++++++++------
toolchain/private/BUILD.sdk.bazel | 1 +
toolchain/private/cc_toolchains.bzl | 6 +--
toolchain/private/defs.bzl | 8 +++-
5 files changed, 58 insertions(+), 16 deletions(-)
diff --git a/toolchain/BUILD.sdk.bazel b/toolchain/BUILD.sdk.bazel
index ada3e5d..e1505b1 100644
--- a/toolchain/BUILD.sdk.bazel
+++ b/toolchain/BUILD.sdk.bazel
@@ -7,6 +7,7 @@ package(
declare_files(
+ os = {os},
zig_include_root = {zig_include_root},
)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 9ab4e88..d334aca 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -1,6 +1,6 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "read_user_netrc", "use_netrc")
-load("@bazel-zig-cc//toolchain/private:defs.bzl", "DEFAULT_INCLUDE_DIRECTORIES", "ZIG_TOOL_PATH", "target_structs")
+load("@bazel-zig-cc//toolchain/private:defs.bzl", "DEFAULT_INCLUDE_DIRECTORIES", "zig_tool_path", "target_structs")
_fcntl_map = """
GLIBC_2.2.5 {
@@ -16,21 +16,21 @@ __asm__(".symver fcntl64, fcntl@GLIBC_2.2.5");
"""
# Official recommended version. Should use this when we have a usable release.
-URL_FORMAT_RELEASE = "https://ziglang.org/download/{version}/zig-{host_platform}-{version}.tar.xz"
+URL_FORMAT_RELEASE = "https://ziglang.org/download/{version}/zig-{host_platform}-{version}.{ext}"
# Caution: nightly releases are purged from ziglang.org after ~90 days. A real
# solution would be to allow the downstream project specify their own mirrors.
# This is explained in
# https://sr.ht/~motiejus/bazel-zig-cc/#alternative-download-urls and is
# awaiting my attention or your contribution.
-URL_FORMAT_NIGHTLY = "https://ziglang.org/builds/zig-{host_platform}-{version}.tar.xz"
+URL_FORMAT_NIGHTLY = "https://ziglang.org/builds/zig-{host_platform}-{version}.{ext}"
# Author's mirror that doesn't purge the nightlies so aggressively. I will be
# cleaning those up manually only after the artifacts are not in use for many
# months in bazel-zig-cc. dl.jakstys.lt is a small x86_64 server with an NVMe
# drive sitting in my home closet on a 1GB/s symmetric residential connection,
# which, as of writing, has been quite reliable.
-URL_FORMAT_JAKSTYS = "https://dl.jakstys.lt/zig/zig-{host_platform}-{version}.tar.xz"
+URL_FORMAT_JAKSTYS = "https://dl.jakstys.lt/zig/zig-{host_platform}-{version}.{ext}"
_VERSION = "0.10.0-dev.2252+a4369918b"
@@ -39,12 +39,22 @@ _HOST_PLATFORM_SHA256 = {
"linux-x86_64": "1d3c3769eba85a4334c93a3cfa35ad0ef914dd8cf9fd502802004c6908f5370c",
"macos-aarch64": "ab46e7499e5bd7b6d6ff2ac331e1a4aa875a01b270dc40306bc29dbaf216fccf",
"macos-x86_64": "fb213f996bcab805839e401292c42a92b63cd97deb1631e31bd61f534b7f6b1c",
+ "windows-x86_64": "14e43a64026512161f3d6201d8972a28f0508da2782c16e980f2ffa3bb7e6720",
+}
+
+_HOST_PLATFORM_EXT = {
+ "linux-aarch64": "tar.xz",
+ "linux-x86_64": "tar.xz",
+ "macos-aarch64": "tar.xz",
+ "macos-x86_64": "tar.xz",
+ "windows-x86_64": "zip",
}
def toolchains(
version = _VERSION,
url_formats = [URL_FORMAT_NIGHTLY, URL_FORMAT_JAKSTYS],
- host_platform_sha256 = _HOST_PLATFORM_SHA256):
+ host_platform_sha256 = _HOST_PLATFORM_SHA256,
+ host_platform_ext = _HOST_PLATFORM_EXT):
"""
Download zig toolchain and declare bazel toolchains.
The platforms are not registered automatically, that should be done by
@@ -56,11 +66,13 @@ def toolchains(
version = version,
url_formats = url_formats,
host_platform_sha256 = host_platform_sha256,
+ host_platform_ext = host_platform_ext,
host_platform_include_root = {
"linux-aarch64": "lib/zig/",
"linux-x86_64": "lib/",
"macos-aarch64": "lib/zig/",
"macos-x86_64": "lib/zig/",
+ "windows-x86_64": "lib/",
},
)
@@ -81,6 +93,10 @@ export ZIG_GLOBAL_CACHE_DIR=$ZIG_LOCAL_CACHE_DIR
exec "{zig}" "{zig_tool}" "$@"
"""
+ZIG_TOOL_WRAPPER_WINDOWS = """@echo off
+"{zig}" "{zig_tool}" %*
+"""
+
_ZIG_TOOLS = [
"c++",
"cc",
@@ -103,11 +119,16 @@ def _zig_repository_impl(repository_ctx):
if os.startswith("mac os"):
os = "macos"
+ if os.startswith("windows"):
+ os = "windows"
+
host_platform = "{}-{}".format(os, arch)
zig_include_root = repository_ctx.attr.host_platform_include_root[host_platform]
zig_sha256 = repository_ctx.attr.host_platform_sha256[host_platform]
+ zig_ext = repository_ctx.attr.host_platform_ext[host_platform]
format_vars = {
+ "ext": zig_ext,
"version": repository_ctx.attr.version,
"host_platform": host_platform,
}
@@ -121,12 +142,19 @@ def _zig_repository_impl(repository_ctx):
)
for zig_tool in _ZIG_TOOLS:
- repository_ctx.file(
- ZIG_TOOL_PATH.format(zig_tool = zig_tool),
- ZIG_TOOL_WRAPPER.format(
- zig = str(repository_ctx.path("zig")),
+ zig_tool_wrapper = ZIG_TOOL_WRAPPER.format(
+ zig = str(repository_ctx.path("zig")),
+ zig_tool = zig_tool,
+ )
+ if os == "windows":
+ zig_tool_wrapper = ZIG_TOOL_WRAPPER_WINDOWS.format(
+ zig = str(repository_ctx.path("zig")).replace('/', '\\') + ".exe",
zig_tool = zig_tool,
- ),
+ )
+
+ repository_ctx.file(
+ zig_tool_path(os).format(zig_tool = zig_tool),
+ zig_tool_wrapper,
)
repository_ctx.file(
@@ -157,6 +185,7 @@ def _zig_repository_impl(repository_ctx):
executable = False,
substitutions = {
"{absolute_path}": _quote(str(repository_ctx.path(""))),
+ "{os}": _quote(os),
"{zig_include_root}": _quote(zig_include_root),
},
)
@@ -167,6 +196,7 @@ zig_repository = repository_rule(
"host_platform_sha256": attr.string_dict(),
"url_formats": attr.string_list(allow_empty = False),
"host_platform_include_root": attr.string_dict(),
+ "host_platform_ext": attr.string_dict(),
},
implementation = _zig_repository_impl,
)
@@ -175,9 +205,13 @@ def filegroup(name, **kwargs):
native.filegroup(name = name, **kwargs)
return ":" + name
-def declare_files(zig_include_root):
+def declare_files(os, zig_include_root):
filegroup(name = "empty")
- native.exports_files(["zig"], visibility = ["//visibility:public"])
+ if os == "windows":
+ native.exports_files(["zig.exe"], visibility = ["//visibility:public"])
+ native.alias(name = "zig", actual = ":zig.exe")
+ else:
+ native.exports_files(["zig"], visibility = ["//visibility:public"])
filegroup(name = "lib/std", srcs = native.glob(["lib/std/**"]))
lazy_filegroups = {}
diff --git a/toolchain/private/BUILD.sdk.bazel b/toolchain/private/BUILD.sdk.bazel
index 39a6a93..3e7c23e 100644
--- a/toolchain/private/BUILD.sdk.bazel
+++ b/toolchain/private/BUILD.sdk.bazel
@@ -1,6 +1,7 @@
load("@bazel-zig-cc//toolchain/private:cc_toolchains.bzl", "declare_cc_toolchains")
declare_cc_toolchains(
+ os = {os},
absolute_path = {absolute_path},
zig_include_root = {zig_include_root},
)
diff --git a/toolchain/private/cc_toolchains.bzl b/toolchain/private/cc_toolchains.bzl
index 64e99f1..a0c7da0 100644
--- a/toolchain/private/cc_toolchains.bzl
+++ b/toolchain/private/cc_toolchains.bzl
@@ -1,4 +1,4 @@
-load(":defs.bzl", "DEFAULT_INCLUDE_DIRECTORIES", "ZIG_TOOL_PATH", "target_structs")
+load(":defs.bzl", "DEFAULT_INCLUDE_DIRECTORIES", "zig_tool_path", "target_structs")
load("@bazel-zig-cc//toolchain:zig_toolchain.bzl", "zig_cc_toolchain_config")
DEFAULT_TOOL_PATHS = {
@@ -11,7 +11,7 @@ DEFAULT_TOOL_PATHS = {
"strip": "/usr/bin/false",
}.items()
-def declare_cc_toolchains(absolute_path, zig_include_root):
+def declare_cc_toolchains(os, absolute_path, zig_include_root):
for target_config in target_structs():
gotarget = target_config.gotarget
zigtarget = target_config.zigtarget
@@ -28,7 +28,7 @@ def declare_cc_toolchains(absolute_path, zig_include_root):
if path[0] == "/":
absolute_tool_paths[name] = path
continue
- tool_path = ZIG_TOOL_PATH.format(zig_tool = path)
+ tool_path = zig_tool_path(os).format(zig_tool = path)
absolute_tool_paths[name] = "%s/%s" % (absolute_path, tool_path)
linkopts = target_config.linkopts
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 6059065..6804104 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -4,7 +4,7 @@ DEFAULT_INCLUDE_DIRECTORIES = [
"libcxxabi/include",
]
-ZIG_TOOL_PATH = "tools/{zig_tool}"
+_ZIG_TOOL_PATH = "tools/{zig_tool}"
# Zig supports even older glibcs than defined below, but we have tested only
# down to 2.17.
@@ -30,6 +30,12 @@ _GLIBCS = [
LIBCS = ["musl"] + ["gnu.{}".format(glibc) for glibc in _GLIBCS]
+def zig_tool_path(os):
+ if os == "windows":
+ return _ZIG_TOOL_PATH + ".bat"
+ else:
+ return _ZIG_TOOL_PATH
+
def target_structs():
ret = []
for zigcpu, gocpu in (("x86_64", "amd64"), ("aarch64", "arm64")):
--
2.17.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 6BB9911EF8C
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 20 May 2022 15:03:16 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1653058987;
bh=WZJtonkY6mfvO0efhXOOXo/ZME5GMA+oRkCH2uKaaQo=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=cuL9Mm4St/jFVu4mhTXv40bFFT5F/3ACSwACloJcCYn22TWGsngPi33HO0w8W54uw
4uqY2jBtwvQsGrBqG8XJ6Me1/9Jc0sBNQm1N++C6jLc2OJPRk7rBqENu3pHTdWg8d8
AtSpdb1Y56XtoICP66NYxbP+DK9G6xa1dFYF5EYU=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc 2/3] added support for Windows targets
Date: Fri, 20 May 2022 16:02:31 +0100
Message-Id: <20220520150232.15515-3-fabian@hahn.graphics>
In-Reply-To: <20220520150232.15515-1-fabian@hahn.graphics>
References: <20220520150232.15515-1-fabian@hahn.graphics>
---
This commit adds support for Windows targets to bazel-zig-cc by
registering the appropriate toolchains and platforms for it. I've
validated this by building a cc_binary on Linux targeting
the windows_amd64 platform/toolchain combination, copying the resulting
binary to a Windows box and successfully executing it there. I was also
able to run the resulting binary under wine.
One thing to note is that even though cross compilation builds work
completely fine, the resulting build outputs are named .a for static
libraries (instead of .lib), .so for dynamic libraries (instead of
.dll), and have no extension for executables (instead of .exe). I tried
to find out why this is but unfortunately couldn't figure it out. That
said, the resulting binaries work completely fine.
toolchain/platform/defs.bzl | 7 ++++++-
toolchain/private/defs.bzl | 19 +++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/toolchain/platform/defs.bzl b/toolchain/platform/defs.bzl
index cf42191..07e69a6 100644
--- a/toolchain/platform/defs.bzl
+++ b/toolchain/platform/defs.bzl
@@ -1,11 +1,16 @@
load("@bazel-zig-cc//toolchain/private:defs.bzl", "LIBCS")
_CPUS = (("x86_64", "amd64"), ("aarch64", "arm64"))
+_OS = {
+ "linux": ["linux"],
+ "macos": ["macos", "darwin"],
+ "windows": ["windows"],
+}
def declare_platforms():
# create @zig_sdk//{os}_{arch}_platform entries with zig and go conventions
for zigcpu, gocpu in _CPUS:
- for bzlos, oss in {"linux": ["linux"], "macos": ["macos", "darwin"]}.items():
+ for bzlos, oss in _OS.items():
for os in oss:
declare_platform(gocpu, zigcpu, bzlos, os)
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 6804104..2ba61f7 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -40,6 +40,7 @@ def target_structs():
ret = []
for zigcpu, gocpu in (("x86_64", "amd64"), ("aarch64", "arm64")):
ret.append(_target_darwin(gocpu, zigcpu))
+ ret.append(_target_windows(gocpu, zigcpu))
ret.append(_target_linux_musl(gocpu, zigcpu))
for glibc in _GLIBCS:
ret.append(_target_linux_gnu(gocpu, zigcpu, glibc))
@@ -69,6 +70,24 @@ def _target_darwin(gocpu, zigcpu):
tool_paths = {"ld": "ld64.lld"},
)
+def _target_windows(gocpu, zigcpu):
+ return struct(
+ gotarget = "windows_{}".format(gocpu),
+ zigtarget = "{}-windows-gnu".format(zigcpu),
+ includes = [
+ "libunwind/include",
+ "libc/include/any-windows-any",
+ ],
+ linkopts = [],
+ copts = [],
+ bazel_target_cpu = "x64_windows",
+ constraint_values = [
+ "@platforms//os:windows",
+ "@platforms//cpu:{}".format(zigcpu),
+ ],
+ tool_paths = {"ld": "ld64.lld"},
+ )
+
def _target_linux_gnu(gocpu, zigcpu, glibc_version):
glibc_suffix = "gnu.{}".format(glibc_version)
--
2.17.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 21BA211EEE1
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 20 May 2022 15:03:21 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1653058987;
bh=1hc8pt5ADYckXmmdbUi2ZXn7H2S1yVLYeTI2hZhiaD4=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=bXSn8NEfNw2YQI/C50iXZXvJMPS/lRoFLfT05y3LpzsvyWkYdgJUVuqTGDnL8H1Kq
W0KSLQ2d+VMlbXIhFEhE+SlGiJGQMfHxZDLsWWeMmdm9j+vJtPBUFTzYCD+xHCtpu/
gT4Glnq13cT1HcyWbt7qM2AAxDK7fyxM8JEbsBhI=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc 3/3] added platform constraint setting for selecting if zig cc is used
Date: Fri, 20 May 2022 16:02:32 +0100
Message-Id: <20220520150232.15515-4-fabian@hahn.graphics>
In-Reply-To: <20220520150232.15515-1-fabian@hahn.graphics>
References: <20220520150232.15515-1-fabian@hahn.graphics>
---
This commit adds a constraint_setting that can be used to select()
between builds with and without zig cc. The reason I added this is
because I found that selecting on @bazel_tools//platforms:windows is not
enough for Windows builds since that constraint value alone will match
both native builds using the MSVC compiler as well as builds using zig
cc. The problem arises when passing custom compiler on linker flags that
differ in syntax between MSVC and zig's clang format. For example, to
link the gdi32 system library on Windows MSVC expects the argument
"-DEFAULTLIB:gdi32.lib". However, with zig cc this needs to be "-lgdi32"
instead. Having the additional constraint setting for the bazel-zig-cc
platforms allows you to define more specific config settings such as:
config_setting(
name = "windows",
constraint_values = [
"@bazel_tools//platforms:windows",
"@zig_sdk//platform:zig_cc_disabled",
],
)
config_setting(
name = "windows_zig",
constraint_values = [
"@bazel_tools//platforms:windows",
"@zig_sdk//platform:zig_cc_enabled",
],
)
This can then be used to switch between linker options as follows:
cc_binary(
# [...]
linkopts = select({
":windows": ["-DEFAULTLIB:gdi32.lib"],
":windows_zig": ["-lgdi32"],
}),
)
toolchain/platform/BUILD | 15 +++++++++++++++
toolchain/platform/defs.bzl | 1 +
2 files changed, 16 insertions(+)
diff --git a/toolchain/platform/BUILD b/toolchain/platform/BUILD
index f43b852..807ac3c 100644
--- a/toolchain/platform/BUILD
+++ b/toolchain/platform/BUILD
@@ -4,4 +4,19 @@ package(
default_visibility = ["//visibility:public"],
)
+constraint_setting(
+ name = "using_zig_cc",
+ default_constraint_value = "zig_cc_disabled",
+)
+
+constraint_value(
+ name = "zig_cc_disabled",
+ constraint_setting = "using_zig_cc",
+)
+
+constraint_value(
+ name = "zig_cc_enabled",
+ constraint_setting = "using_zig_cc",
+)
+
declare_platforms()
diff --git a/toolchain/platform/defs.bzl b/toolchain/platform/defs.bzl
index 07e69a6..05c0744 100644
--- a/toolchain/platform/defs.bzl
+++ b/toolchain/platform/defs.bzl
@@ -32,6 +32,7 @@ def declare_platform(gocpu, zigcpu, bzlos, os, suffix = "", extra_constraints =
constraint_values = [
"@platforms//os:{}".format(bzlos),
"@platforms//cpu:{}".format(zigcpu),
+ "@zig_sdk//platform:zig_cc_enabled",
] + extra_constraints
native.platform(
--
2.17.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=nPs7mO//26/A4dat0ZQHrPvplq+tqK8f6RDslDMAXe8=;
c=simple/simple; d=sr.ht; h=Date:Cc:From:In-Reply-To:Subject:To;
q=dns/txt; s=srht; t=1653059791; v=1;
b=hesBOAENLh+/Q7g6faXp848hKQx0oVDnsNwfbAwOD65qE84CT34SFC6YTlDqHMR2huOG6kDM
eOaCz+dh9Smx/eL0Q2ooGj+wqMexgA0qJR772IocY/Sp1hAjEICFDeO5wKWOaGwJCrypQ8veIkC
zFXoODQOtMxs4IN4xx9DlPcgCOaEjVts/HOvo5Bujo5zUOtd7EJqOv+IZ2ZpmKZDRZj8CbarFhu
h3zGrWulZHOWSMvUeTpSlGjTaunXV7kInFD0XGBJrkV7ICdh+KdgjQ/8jX9UAZI2kf3a/sPekMq
1RF5EPiygu96HFi1dlBzEAvWKh57KfPDhG9tnVKJ8IrGg==
Received: from localhost (unknown [173.195.146.244])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id E9E2B11EE9A;
Fri, 20 May 2022 15:16:31 +0000 (UTC)
MIME-Version: 1.0
Date: Fri, 20 May 2022 15:16:31 +0000
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CK4OSGM2HOGL.FLUSLQ3ZKRTK@cirno2>
In-Reply-To: <20220520150232.15515-4-fabian@hahn.graphics>
Subject: [bazel-zig-cc/patches/.build.yml] build failed
To: "Fabian Hahn" <fabian@hahn.graphics>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: FAILED in 13m9s
[Windows support][0] from [Fabian Hahn][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/32423
[1]: mailto:fabian@hahn.graphics
=E2=9C=97 #762646 FAILED bazel-zig-cc/patches/.build.yml https://builds.sr.=
ht/~motiejus/job/762646
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47])
by mail-b.sr.ht (Postfix) with ESMTPS id CDF6311EEB5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 21 May 2022 12:56:32 +0000 (UTC)
Received: by mail-lf1-f47.google.com with SMTP id br17so6132349lfb.2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 21 May 2022 05:56:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:in-reply-to;
bh=ATnOdOSygYdGzkL8M7tYyFx6z7ujwjgOIQ4j81L2J5M=;
b=i7aI7xAyfLt68zB7AskVUupgnVfbcm+QTmVSfmZ8H/k6retDziOiJo6Pjj3nwgte/R
xmQPYhJozQDpwsKqr4sL3VjXT7p9YOBqPqdzc9/7HqCXt9h3Q51PhqJIexQBySoXFe6d
FqCouLLqJ+KUvA4m/nR+lL9JaJKPGT3ovX5UMQ/S2Lqdpg8mz39e4jzb7968wG0zzp3B
eiPjd2Qe4ALZawrnCjgTjAe8gxpVqlQFAuVXl1sHb2GrtBWAgCRR/dzf+Hx9PchGbUhW
RLuYYUwJHhhMM4cEPmO5+7qvtDhlyu/gbfN+sg68gaH9jWZf/53LgowfaonoI0y+uHvj
Zj0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition:in-reply-to;
bh=ATnOdOSygYdGzkL8M7tYyFx6z7ujwjgOIQ4j81L2J5M=;
b=O4f6fbZh+jRHIrL1xuHdYkwue2WSll9cz73fwBnP8jWVY0pbl5/GP/appvJG4vYfj3
EW75Ynl1hmnTOdMveJYJsOx1Oy0yzRHFZmz0xK1G9nNfAmZ8SdEnV17YQPcZ82sCwTYn
ukxDvMQwXSqveAJx0zNiuC9NyqboxfPPCsqNGOUqnQ7sPb+GPXYktOg5EBHfSDaOdLBs
VuDWZx77CWBZNdenowY0ndfglKRf1uEnr3Lf4N74r4wfsbKM064TBZVp7hzyZEZWA79V
1nxUAlqL4HtTK2ZAw5WBGyURSZ48IgXRFo8yqgtCD1oOkwDJ8qsmL7LE063/82aHcV6e
Ye7Q==
X-Gm-Message-State: AOAM5304zgsl6LWiGr8g5MRB5P6/1zfV8n3KB9X6DiDSt8BAIsnrZNvH
BDi3MdWM/P3UfFCs1czrdHU=
X-Google-Smtp-Source: ABdhPJzBGnyF4lHpPw25PyxJIMSfq+LkXzhak+wzfn7jPZ4f/W8B2wdaJeK9G3s6tv+26eeuYozRFg==
X-Received: by 2002:a05:6512:2607:b0:477:96ea:d387 with SMTP id bt7-20020a056512260700b0047796ead387mr10773156lfb.79.1653137790039;
Sat, 21 May 2022 05:56:30 -0700 (PDT)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id d18-20020a05651233d200b00477ce8cf243sm229392lfg.55.2022.05.21.05.56.29
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sat, 21 May 2022 05:56:29 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Sat, 21 May 2022 15:56:28 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: Fabian Hahn <fabian@hahn.graphics>, laurynasl@uber.com
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc 0/3] Windows support
Message-ID: <20220521125628.dqwgp3p6m6n76jdl@mtpad.i.jakstys.lt>
References: <20220520150232.15515-1-fabian@hahn.graphics>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20220520150232.15515-1-fabian@hahn.graphics>
Hi Fabian,
On Fri, May 20, 2022 at 04:02:29PM +0100, Fabian Hahn wrote:
> Hello there,
>
> First of all, thank you for this great project! I was always intrigued
> by zig's C/C++ compilation abilities but wasn't too keen on adopting it
> as a build system. Being able to use zig as a bazel toolchain using this
> project is incredible and exactly the way I always wanted to use zig.
>
> My intended use case for bazel-zig-cc was to enable cross compilation
> between the two supported platforms Linux and Windows in my project [1].
> To this end, I started looking into extending bazel-zig-cc with Windows
> support both as a host and target system.
Happy to see you are finding it useful!
> The attached three commits in
> made this work and successfully allowed me to cross compile all of my
> cc_binary targets between Linux and Windows using zig cc. That said,
> they do not actually depend on each other and can be used individually.
> I hope others might find them useful, too, and would like to ask you to
> consider accepting them into the mainline of the project.
>
> [1] https://github.com/FabianHahn/shoveler
I don't mind Windows support, as long as there is somebody to
test and maintain it. Once we land this, that will be you. :)
Since none of the bazel-zig-cc contributors are using Windows for
development, we don't have means to test if we did not break something.
So, until we can have a Windows CI, you will be on the hook to test it
with new bazel-zig-cc releases.
And until we are no sr.ht, there is no chance we will have Windows CI.
Unless it can be run under Wine? Do you have appetite to try?
Now regarding your patches:
> Fabian Hahn (3):
> added windows host support
> added support for Windows targets
The above look reasonable.
> added platform constraint setting for selecting if zig cc is used
I am not sure about this. Laurynai, can you have a peek if this can't be
expressed via a platform instead? This setting doesn't look right from a
quick glimpse.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=uber.com header.i=@uber.com
Received: from mail-yb1-f175.google.com (mail-yb1-f175.google.com [209.85.219.175])
by mail-b.sr.ht (Postfix) with ESMTPS id AD5A411EE06
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 23 May 2022 16:06:28 +0000 (UTC)
Received: by mail-yb1-f175.google.com with SMTP id v71so26240013ybi.4
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 23 May 2022 09:06:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=uber.com; s=google;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc;
bh=5vtryZ6xaAJdMUCozGtUCc3J9VCuSysaLwvwFMqlEug=;
b=NdYXjznI4y4wNjdv7b9l1wJujrRws7AVo9zNnavycg1xTwr8YVe2caSr6lSVfgWZ6g
hbo/2N8V0ZoONyQpqTA5kR7HzEdbKouR6l3D1ThcyAOE7biknV7UgMR9FeBZvTOq72Vq
lulqAIxgBxfXviIUQJYgtZFKjcAijbfe21+4I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=5vtryZ6xaAJdMUCozGtUCc3J9VCuSysaLwvwFMqlEug=;
b=2AFI/XV2Xgs7xAPhm0Nk4ixV7LLyb4OMqRyAhHuqQvmB8p07KtepT6mRN9ZLutFrfi
OvnXMYRybbqKgGHzPUyraf+xvICbBN8aZ0zxHcRCb7R2h6ZTxZfv641vHR7TSHq+Jx9L
9cR23dJvrLZ24GwMRBFux/DASu71glsuekMhBuAC8qJSxztfzjRKKNQfJdID+LZXjVdF
deI2XB7vdqKgZLRyAj/TiTqVTIGQQc0Y77RxDplWiYBFxMUVjprk6CXN9GQ+YhrpQl1w
iObxaRpdXRw1aQ7curgU+LMfy+uQvpgtXWMdd2RyeWOspRyh1lhK9ldj+fTTOta5syoS
wdrg==
X-Gm-Message-State: AOAM533x2XFDW2TgMjI3pASV2wae0EINry54Brea38F8O4U17wpN+wLb
4pNPZcir8aBwK/NLzhszeNJ0eA3u56uUiIELnE59WS3zFDc8XbRbdd70zaeaqb9bW32/zeuEj9p
IB13sYC/LG9x6CiGUJBNO4FMEgT8l8AiYVUPszZCOJ1J71wtVeq9j/vuw4c4pqL7UYHUU8MSq7Q
TlRNjga1tnXhj/AI5teUZeig0JfY8Q9SylomBR98BKsU1b9ezpUQ910mo=
X-Google-Smtp-Source: ABdhPJx7y7w0s+5ARFWmVIuDSzpv783GnlOYcMmKzID70ZNnxhwz9p3eqGCBS2RCJTzA3YR5CgpMBF+W9iK5Y+071eg=
X-Received: by 2002:a25:3891:0:b0:64d:68b1:c455 with SMTP id
f139-20020a253891000000b0064d68b1c455mr21792810yba.400.1653321987747; Mon, 23
May 2022 09:06:27 -0700 (PDT)
MIME-Version: 1.0
References: <20220520150232.15515-1-fabian@hahn.graphics> <20220520150232.15515-4-fabian@hahn.graphics>
In-Reply-To: <20220520150232.15515-4-fabian@hahn.graphics>
From: Laurynas Lubys <laurynasl@uber.com>
Date: Mon, 23 May 2022 19:06:16 +0300
Message-ID: <CAG09j49GZxNQJJZX5a5wZ0f12VPzfWqbLmzEfTKfS4KvwvwPtg@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc 3/3] added platform constraint setting for
selecting if zig cc is used
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi Fabian,
While I see your use case, I think the solution you outlined is a bit
too invasive for the problem you raised. I would prefer bazel-zig-cc
to only deal with terms related to zig-cc and not other compilers.
Here's how you could solve this bit without changes in bazel-zig-cc:
1. Define the `constraint_value`s in your project
2. Define a custom platform (e.g. windows_msvc and windows_zig),
specifying the bazel-zig-cc platform in the `parents` field and adding
the `constraint_values` from step 1 accordingly.
3. Use your custom platforms instead of the ones from bazel-zig-cc directly.
Cheers,
Laurynas
On Fri, May 20, 2022 at 6:03 PM Fabian Hahn <fabian@hahn.graphics> wrote:
>
> ---
> This commit adds a constraint_setting that can be used to select()
> between builds with and without zig cc. The reason I added this is
> because I found that selecting on @bazel_tools//platforms:windows is not
> enough for Windows builds since that constraint value alone will match
> both native builds using the MSVC compiler as well as builds using zig
> cc. The problem arises when passing custom compiler on linker flags that
> differ in syntax between MSVC and zig's clang format. For example, to
> link the gdi32 system library on Windows MSVC expects the argument
> "-DEFAULTLIB:gdi32.lib". However, with zig cc this needs to be "-lgdi32"
> instead. Having the additional constraint setting for the bazel-zig-cc
> platforms allows you to define more specific config settings such as:
>
> config_setting(
> name = "windows",
> constraint_values = [
> "@bazel_tools//platforms:windows",
> "@zig_sdk//platform:zig_cc_disabled",
> ],
> )
>
> config_setting(
> name = "windows_zig",
> constraint_values = [
> "@bazel_tools//platforms:windows",
> "@zig_sdk//platform:zig_cc_enabled",
> ],
> )
>
> This can then be used to switch between linker options as follows:
> cc_binary(
> # [...]
> linkopts = select({
> ":windows": ["-DEFAULTLIB:gdi32.lib"],
> ":windows_zig": ["-lgdi32"],
> }),
> )
>
> toolchain/platform/BUILD | 15 +++++++++++++++
> toolchain/platform/defs.bzl | 1 +
> 2 files changed, 16 insertions(+)
>
> diff --git a/toolchain/platform/BUILD b/toolchain/platform/BUILD
> index f43b852..807ac3c 100644
> --- a/toolchain/platform/BUILD
> +++ b/toolchain/platform/BUILD
> @@ -4,4 +4,19 @@ package(
> default_visibility = ["//visibility:public"],
> )
>
> +constraint_setting(
> + name = "using_zig_cc",
> + default_constraint_value = "zig_cc_disabled",
> +)
> +
> +constraint_value(
> + name = "zig_cc_disabled",
> + constraint_setting = "using_zig_cc",
> +)
> +
> +constraint_value(
> + name = "zig_cc_enabled",
> + constraint_setting = "using_zig_cc",
> +)
> +
> declare_platforms()
> diff --git a/toolchain/platform/defs.bzl b/toolchain/platform/defs.bzl
> index 07e69a6..05c0744 100644
> --- a/toolchain/platform/defs.bzl
> +++ b/toolchain/platform/defs.bzl
> @@ -32,6 +32,7 @@ def declare_platform(gocpu, zigcpu, bzlos, os, suffix = "", extra_constraints =
> constraint_values = [
> "@platforms//os:{}".format(bzlos),
> "@platforms//cpu:{}".format(zigcpu),
> + "@zig_sdk//platform:zig_cc_enabled",
> ] + extra_constraints
>
> native.platform(
> --
> 2.17.1
>
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id C52A811F09B
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 23 May 2022 19:25:17 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1653333912;
bh=lTpCQBPmFHy+ZrUZuVb8dj7xFPM6sEfKSthpoDrfgVM=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=aPSMQDR/e7O9D5SlGFAdEeaTCPXjrUbPUIQMqsqHaQAiuKCLnyxLcVZJ6R6Q9zjO7
Zh54WL+w7V//Smv/UzmfSq1B/Mp8IUR7zaqgJVVU0EYWFmrweobFCmdt9SPbbJOKoG
8/s6VxrJwvwOnfCcKN532EfRkh88OWOyVPk6KDuA=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8;
format=flowed
Content-Transfer-Encoding: 8bit
Date: Mon, 23 May 2022 20:25:05 +0100
From: fabian@hahn.graphics
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: laurynasl@uber.com, ~motiejus/bazel-zig-cc@lists.sr.ht, =?UTF-8?Q?Mot?=
=?UTF-8?Q?iejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Subject: Re: [PATCH bazel-zig-cc 0/3] Windows support
In-Reply-To: <20220521125628.dqwgp3p6m6n76jdl@mtpad.i.jakstys.lt>
References: <20220520150232.15515-1-fabian@hahn.graphics>
<20220521125628.dqwgp3p6m6n76jdl@mtpad.i.jakstys.lt>
Message-ID: <4f67edd521daf91a7230b16e69275175@hahn.graphics>
X-Sender: fabian@hahn.graphics
Hi Motiejus,
On 2022-05-21 13:56, Motiejus Jakštys wrote:
> I don't mind Windows support, as long as there is somebody to
> test and maintain it. Once we land this, that will be you. :)
>
> Since none of the bazel-zig-cc contributors are using Windows for
> development, we don't have means to test if we did not break something.
> So, until we can have a Windows CI, you will be on the hook to test it
> with new bazel-zig-cc releases.
I'm happy to try doing this. I'm definitely interested in keeping my own
project up to date with new releases of the rules too, which should
provide some implicit coverage.
> And until we are no sr.ht, there is no chance we will have Windows CI.
> Unless it can be run under Wine? Do you have appetite to try?
I will look into this. I'm pretty confident that the Windows target
support (second patch) can be covered by wine testing. I'm more
sceptical
about Windows host support, since you'd have to run Windows bazel itself
under Wine which I'm not sure is supported and might not work.
> I am not sure about this. Laurynai, can you have a peek if this can't
> be
> expressed via a platform instead? This setting doesn't look right from
> a
> quick glimpse.
I'll look into Laurynai's suggestion of using a custom platform for
this.
I'm by no means a bazel expert so this patch was the best I could get
working, and I'm very happy to try a better solution if there is one.
I'll submit a second version of the patch set once I've done this. There
is also a linter failure that I'm going to address.
Best,
Fabian
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 8C2C111F09B
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 23 May 2022 19:28:34 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1653334112;
bh=mFg1KSkQZ/dKgcivF4eqbD1A5iBLIQCRG7Lzu21191I=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=Du4GKYLAgXGhf6hRDpe6kbgXMqLrT+hd/jakz1gq4lWpGTdCfXn72xEJ97dIrVl7W
cWP5MM8U1odYTK1pXrI9ZkRn5LTXmTJAlkLpDNmNB36Elj/V1pd2rQk8R9A++zH24c
s0VanF4JWRkc4vqaLObZe4g74ygSiJO1LkANDdZY=
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII;
format=flowed
Content-Transfer-Encoding: 7bit
Date: Mon, 23 May 2022 20:28:32 +0100
From: fabian@hahn.graphics
To: Laurynas Lubys <laurynasl@uber.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc 3/3] added platform constraint setting for
selecting if zig cc is used
In-Reply-To: <CAG09j49GZxNQJJZX5a5wZ0f12VPzfWqbLmzEfTKfS4KvwvwPtg@mail.gmail.com>
References: <20220520150232.15515-1-fabian@hahn.graphics>
<20220520150232.15515-4-fabian@hahn.graphics>
<CAG09j49GZxNQJJZX5a5wZ0f12VPzfWqbLmzEfTKfS4KvwvwPtg@mail.gmail.com>
Message-ID: <17e9d6378e74647834146edf5ca400c8@hahn.graphics>
X-Sender: fabian@hahn.graphics
Hi Laurynas,
On 2022-05-23 17:06, Laurynas Lubys wrote:
> Here's how you could solve this bit without changes in bazel-zig-cc:
> 1. Define the `constraint_value`s in your project
> 2. Define a custom platform (e.g. windows_msvc and windows_zig),
> specifying the bazel-zig-cc platform in the `parents` field and adding
> the `constraint_values` from step 1 accordingly.
> 3. Use your custom platforms instead of the ones from bazel-zig-cc
> directly.
Thanks a lot for the pointers, I didn't realize that defining a custom
platform could help here. I'll try this.
Best,
Fabian
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174])
by mail-b.sr.ht (Postfix) with ESMTPS id AEECB11EF44
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 24 May 2022 07:54:41 +0000 (UTC)
Received: by mail-pl1-f174.google.com with SMTP id n18so15197451plg.5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 24 May 2022 00:54:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:content-transfer-encoding:in-reply-to;
bh=u9URII2FSPSfQdXcqCVRfJ9UATexSKFU4WWZGQOrURU=;
b=GVmGMeUlvUqru+iomkPHxo5celoyu4+SfLM5BilzySyJrd+ECWceb2PDB0FzxGng3Q
cz1/n2ITO3gpRy9Spe68yEnCDsEC11dIBRZMFEWkZJdbry9jYC253mXF6aGaBgPkPgB9
LxfrG8DM/E5yntkovS6sbt7P1WA3ILfO4p0rTj5AtI2ZzaIF2BX/wwUzSCMJOiA6DoMX
Uj7VRhH+l3VT/UzY7nxLTdmDlhjjWigxAwFdNpRdCm/wVmvSue+LVYnzzbqBactlxoH2
cREplS4u8hzs43acQLFn9eJ0Kp3si49xcRFQR/M57ucvNyk122N85fakwqDYgYT0BI9v
Z4tQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition
:content-transfer-encoding:in-reply-to;
bh=u9URII2FSPSfQdXcqCVRfJ9UATexSKFU4WWZGQOrURU=;
b=7sA41G17p81NhXyVaTC8yUKznPinSP2/SXUb/fQ6matlEUL1+O4UBKUN+E8I67Nund
NEnCCmHP80A95nDo6kCRMJQ62boYXhbf9BgpTvRvchE6FHGPVrlMsz/YwXwzzUcBro2C
w+HWOGafeRom7LhpPp3ace1P4B+p6gZvWVK4Pf/ibAEQxWq3RiTiYlCyyAGhTOa9+I2A
G/4MBhu3lBy+ARkPFqurQOuJealxiqYMVc96CWMbaqFGtYVybq47zgHd1QTD0mck3dR4
g5+F6MPjCeg8SYhxVK4f42TkchaHkY2dEOcOX7ij03O0FV+ty6wnSzWVz+vLWr5o4Y1t
it1g==
X-Gm-Message-State: AOAM531qrFJclaGtXWrAQNR7zkRSaoTHg1kbGvxJ8BCEitE+tMi4zpjt
giBuxWI1LdhBdmb4jlEOMgg=
X-Google-Smtp-Source: ABdhPJzznTq6anEeeDNHGYXk190BspOLx8ffO69B1QyHnec3aW1WsE/sqdtTmyHGsYY19ikjSxe/gg==
X-Received: by 2002:a17:90a:e7d2:b0:1e0:237:d3fe with SMTP id kb18-20020a17090ae7d200b001e00237d3femr3439782pjb.50.1653378879363;
Tue, 24 May 2022 00:54:39 -0700 (PDT)
Received: from localhost (88-119-96-125.static.zebra.lt. [88.119.96.125])
by smtp.gmail.com with ESMTPSA id b6-20020a170902a9c600b001624dab05edsm429711plr.8.2022.05.24.00.54.38
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Tue, 24 May 2022 00:54:38 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Tue, 24 May 2022 10:54:34 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: fabian@hahn.graphics
Cc: laurynasl@uber.com, ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc 0/3] Windows support
Message-ID: <20220524075434.wsgc4xy3u5gw4qpc@mtpad.i.jakstys.lt>
References: <20220520150232.15515-1-fabian@hahn.graphics>
<20220521125628.dqwgp3p6m6n76jdl@mtpad.i.jakstys.lt>
<4f67edd521daf91a7230b16e69275175@hahn.graphics>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4f67edd521daf91a7230b16e69275175@hahn.graphics>
On Mon, May 23, 2022 at 08:25:05PM +0100, fabian@hahn.graphics wrote:
> Hi Motiejus,
>
> On 2022-05-21 13:56, Motiejus Jakštys wrote:
> > And until we are no sr.ht, there is no chance we will have Windows CI.
> > Unless it can be run under Wine? Do you have appetite to try?
>
> I will look into this. I'm pretty confident that the Windows target
> support (second patch) can be covered by wine testing. I'm more sceptical
> about Windows host support, since you'd have to run Windows bazel itself
> under Wine which I'm not sure is supported and might not work.
Out of curiosity I applied your patches, downloaded bazelisk.exe, and
tried to run it via wine, to be greeted with:
$ wine ./bin/bazelisk.exe query ...
ERROR: SymlinkDirectories(C:/users/motiejus/_bazel_motiejus/install/5f8090d9a86a5bdc9afbbd92e4f1b167,
c:\users\motiejus\_bazel_motiejus\n3lawf4n\install): CreateJunction:
FATAL: failed to create installation symlink 'c:\users\motiejus\_bazel_motiejus\n3lawf4n\install': success
... And no obvious suggestions from my favorite search engine.
At least we tried. :)
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id ED42B11F0BD;
Wed, 25 May 2022 01:41:49 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Wed, 25 May 2022 01:41:49 +0000
Subject: [PATCH bazel-zig-cc 0/2] Ignore undefined symbols when building
dynamic libraries on darwin
MIME-Version: 1.0
Message-ID: <165344290967.21743.14923213680999840378-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: jeremy@jvolkman.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Hi,
I'm working on a rule set to build Python modules using bazel cc
toolchains, and found that with bazel-zig-cc, I'm unable to build native
modules on macos. The issue turns out to be differences in handling
undefined symbols at link time in linux vs. macos. When building for a
linux target, zig ignores undefined symbols, but for macos they generate
errors. In the case of Python, native modules never link against
libpython. Instead, its symbols are provided when the module is loaded
by the cpython interpreter (at least that's my understanding).
See some discussion of this at
https://github.com/ziglang/zig/issues/8180.
This change adds dynamic_library_linkopts to zig_cc_toolchain_config
which apply only to the cpp_link_dynamic_library and
cpp_link_nodeps_dynamic_library. For darwin targets, I specify the
-Wl,-undefined=3Ddynamic_lookup flag. This logic is adapted from bazel's
built-in macos toolchain [1].
Thanks!
[1]
https://cs.github.com/bazelbuild/bazel/blob/ca40a514b8bc609478f769194909dd0be=
0afa1f9/tools/osx/crosstool/cc_toolchain_config.bzl#L1125-L1131
Jeremy Volkman (2):
Adds dynamic_library_linkopts to zig_cc_toolchain_config
Pass "-Wl,-undefined=3Ddynamic_lookup" for dynamic libraries on darwin.
toolchain/private/cc_toolchains.bzl | 2 ++
toolchain/private/defs.bzl | 3 +++
toolchain/zig_toolchain.bzl | 17 ++++++++++++++---
3 files changed, 19 insertions(+), 3 deletions(-)
--=20
2.34.2
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 14A7D11F105;
Wed, 25 May 2022 01:41:50 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Tue, 24 May 2022 17:14:35 -0700
Subject: [PATCH bazel-zig-cc 1/2] Adds dynamic_library_linkopts to
zig_cc_toolchain_config
Message-ID: <165344290967.21743.14923213680999840378-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
In-Reply-To: <165344290967.21743.14923213680999840378-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: jeremy@jvolkman.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Jeremy Volkman <jeremy@jvolkman.com>
If specified, the flags in dynamic_library_linkopts are included in
cpp_link_dynamic_library and cpp_link_nodeps_dynamic_library actions.
---
toolchain/private/cc_toolchains.bzl | 2 ++
toolchain/private/defs.bzl | 3 +++
toolchain/zig_toolchain.bzl | 17 ++++++++++++++---
3 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/toolchain/private/cc_toolchains.bzl b/toolchain/private/cc_toolc=
hains.bzl
index 64e99f1..3a1e1cb 100644
--- a/toolchain/private/cc_toolchains.bzl
+++ b/toolchain/private/cc_toolchains.bzl
@@ -32,6 +32,7 @@ def declare_cc_toolchains(absolute_path, zig_include_root):
absolute_tool_paths[name] =3D "%s/%s" % (absolute_path, tool_pat=
h)
=20
linkopts =3D target_config.linkopts
+ dynamic_library_linkopts =3D target_config.dynamic_library_linkopts
copts =3D target_config.copts
for s in getattr(target_config, "linker_version_scripts", []):
linkopts =3D linkopts + ["-Wl,--version-script,%s/%s" % (absolut=
e_path, s)]
@@ -45,6 +46,7 @@ def declare_cc_toolchains(absolute_path, zig_include_root):
cxx_builtin_include_directories =3D cxx_builtin_include_director=
ies,
copts =3D copts,
linkopts =3D linkopts,
+ dynamic_library_linkopts =3D dynamic_library_linkopts,
target_cpu =3D target_config.bazel_target_cpu,
target_system_name =3D "unknown",
target_libc =3D "unknown",
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 6059065..053641c 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -54,6 +54,7 @@ def _target_darwin(gocpu, zigcpu):
"libc/include/any-macos-any",
],
linkopts =3D [],
+ dynamic_library_linkopts =3D [],
copts =3D [],
bazel_target_cpu =3D "darwin",
constraint_values =3D [
@@ -84,6 +85,7 @@ def _target_linux_gnu(gocpu, zigcpu, glibc_version):
compiler_extra_includes =3D ["glibc-hacks/glibchack-fcntl.h"] if fcn=
tl_hack else [],
linker_version_scripts =3D ["glibc-hacks/fcntl.map"] if fcntl_hack e=
lse [],
linkopts =3D ["-lc++", "-lc++abi"],
+ dynamic_library_linkopts =3D [],
copts =3D [],
bazel_target_cpu =3D "k8",
constraint_values =3D [
@@ -105,6 +107,7 @@ def _target_linux_musl(gocpu, zigcpu):
"libc/include/{}-linux-any".format(zigcpu),
] + (["libc/include/x86-linux-any"] if zigcpu =3D=3D "x86_64" else [=
]),
linkopts =3D ["-s", "-w"],
+ dynamic_library_linkopts =3D [],
copts =3D ["-D_LIBCPP_HAS_MUSL_LIBC", "-D_LIBCPP_HAS_THREAD_API_PTHR=
EAD"],
bazel_target_cpu =3D "k8",
constraint_values =3D [
diff --git a/toolchain/zig_toolchain.bzl b/toolchain/zig_toolchain.bzl
index aa14ec1..8676471 100644
--- a/toolchain/zig_toolchain.bzl
+++ b/toolchain/zig_toolchain.bzl
@@ -14,6 +14,11 @@ all_link_actions =3D [
ACTION_NAMES.cpp_link_nodeps_dynamic_library,
]
=20
+dynamic_library_link_actions =3D [
+ ACTION_NAMES.cpp_link_dynamic_library,
+ ACTION_NAMES.cpp_link_nodeps_dynamic_library,
+]
+
compile_and_link_actions =3D [
ACTION_NAMES.c_compile,
ACTION_NAMES.cpp_compile,
@@ -79,15 +84,20 @@ def _zig_cc_toolchain_config_impl(ctx):
flag_sets =3D [
flag_set(
actions =3D all_link_actions,
- flag_groups =3D ([
+ flag_groups =3D [
flag_group(
flags =3D ["-target", ctx.attr.target] +
no_gc_sections +
ctx.attr.linkopts,
),
- ]),
+ ],
),
- ],
+ ] + [
+ flag_set(
+ actions =3D dynamic_library_link_actions,
+ flag_groups =3D [flag_group(flags =3D ctx.attr.dynamic_libra=
ry_linkopts)],
+ ),
+ ] if ctx.attr.dynamic_library_linkopts else [],
)
=20
features =3D [
@@ -119,6 +129,7 @@ zig_cc_toolchain_config =3D rule(
attrs =3D {
"cxx_builtin_include_directories": attr.string_list(),
"linkopts": attr.string_list(),
+ "dynamic_library_linkopts": attr.string_list(),
"copts": attr.string_list(),
"tool_paths": attr.string_dict(),
"target": attr.string(),
--=20
2.34.2
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 3160A11F117;
Wed, 25 May 2022 01:41:50 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Tue, 24 May 2022 17:17:33 -0700
Subject: [PATCH bazel-zig-cc 2/2] Pass "-Wl,-undefined=dynamic_lookup" for
dynamic libraries on darwin.
Message-ID: <165344290967.21743.14923213680999840378-2@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
In-Reply-To: <165344290967.21743.14923213680999840378-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: jeremy@jvolkman.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
From: Jeremy Volkman <jeremy@jvolkman.com>
This linker flag causes undefined symbols to be ignored, which is the
default behavior on linux but not macos. This is required when building
shared libraries to use as e.g. Python modules. This also matches what
Bazel's built-in macos cc toolchain does.
---
toolchain/private/defs.bzl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 053641c..42aaaeb 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -54,7 +54,7 @@ def _target_darwin(gocpu, zigcpu):
"libc/include/any-macos-any",
],
linkopts = [],
- dynamic_library_linkopts = [],
+ dynamic_library_linkopts = ["-Wl,-undefined=dynamic_lookup"],
copts = [],
bazel_target_cpu = "darwin",
constraint_values = [
--
2.34.2
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=uve8fTCVpt6Gdf7uz7dBrgAhQF80SbAq3lissg6dG5s=;
c=simple/simple; d=sr.ht; h=Date:Subject:To:Cc:From:In-Reply-To;
q=dns/txt; s=srht; t=1653443104; v=1;
b=cpLSLwkb+0IZpY2maPGAimHdV25W4rn/HTM4gezdDhYy6Nz7vadHsTrn9mV8JAVcwYwz8ldt
aqaqClVgWHoYO0y1zYPX0li98UJhUOXHG/7kaW1N13umGN39hYYSedf4AFnsO7a8IqtyGF2FmYP
roDtGyAxo5VKvOxEMGlfm/FJQh+7jsz8TmDDpE++0WCcLSnE9PJxgmZXCoCj52p7n7c7G//nnG4
hxIdUr3cSsY3MH4T3mJqRq+9pt9CS1bd4KxxIMaLwkaYuREt/GBSA6Jk91wXI+aDisIa7FHuRdb
Fd0XbdUmqapSf27k+cOtoQ75iAxy+pbLmsTHDVR6e6r2A==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 5939611F028;
Wed, 25 May 2022 01:45:04 +0000 (UTC)
MIME-Version: 1.0
Date: Wed, 25 May 2022 01:45:04 +0000
Subject: [bazel-zig-cc/patches/.build.yml] build failed
To: "~jvolkman" <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CK8GNVX9K24M.2M83AAZ0IL6QY@cirno>
In-Reply-To: <165344290967.21743.14923213680999840378-2@git.sr.ht>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: FAILED in 3m12s
[Ignore undefined symbols when building dynamic libraries on darwin][0] fro=
m [~jvolkman][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/32501
[1]: mailto:jeremy@jvolkman.com
=E2=9C=97 #765889 FAILED bazel-zig-cc/patches/.build.yml https://builds.sr.=
ht/~motiejus/job/765889
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179])
by mail-b.sr.ht (Postfix) with ESMTPS id 21B9D11EF1E
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 25 May 2022 02:50:15 +0000 (UTC)
Received: by mail-lj1-f179.google.com with SMTP id 1so9638526ljh.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 24 May 2022 19:50:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=sender:date:from:to:cc:subject:message-id:references:mime-version
:content-disposition:in-reply-to;
bh=M6ImvImR96Ds5NBcNS9eiuyRYKVOS/7aVSKKI29NR2k=;
b=Ss+a+fbmnRGRan6UWhJmEEi491HAFVW++yLowAvSp+eAwe3G1kYbLYatI15eFhRlBO
6MYVXA+DWC6ou5hN9zvcpKHefSTVSFf9gtk5CGY4UCNc4Pm970snnLoeTKhLfbZtiFvu
Xa02mFESqtfYQe1d/CDjyUmFRjq+IEhfjfzlWtCLTG6onEgNleUJXoPag6e5CErgbVn3
apY/8HCyqI8Rcd0fdZI2D12XC8/SuSTM5aP/pvQWdTd8QvltAU65k2hESiYwoQEeB8cJ
lwhXu80vBGp9c2gBXWp2v3YmXodZ4A2fsSLl/pDyO/zhpoDix2fgj77eCPGkMfdwsYAT
Cqcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
:references:mime-version:content-disposition:in-reply-to;
bh=M6ImvImR96Ds5NBcNS9eiuyRYKVOS/7aVSKKI29NR2k=;
b=RP9MVCeiAkzUgW+8Cx2N4l9TRDds9LhofDJu/0WTITMnQXt51ZOz+Us9215G5Hs5gG
CUt08JvSW6P0c2H/mz5NH+h4ijw2NiswaxQ3myLwM6ycABNZKQ5bXn3+O13aswlS8GgN
Xvp7VNxhzqL49BIwnHrL2TtKQPNWU9LuvzvdSryJSkUMJdZQ0s8dycHUHhgxDMuaO2ZL
hkcIa7Oa+nfT8gyPkbC+PqwL0nqzPnFnFm8LQGDnJjxwMFzbfxM0WppJ2fH9qvlefIAS
+idYuVojGS0yTgjJIHvQkxef8AQC9XrLtGMEMUzVKRk95c/mSOru0d0iPE+hMC/LhEcA
57RA==
X-Gm-Message-State: AOAM532Z+L4CRVoLiKmG4SaxmYADyqLgxNtxF7ZXutznVL0LMwkXJ8wb
VV3iO82XyhcZpaaSOF1YUUM=
X-Google-Smtp-Source: ABdhPJz71KGHZwRPQacfdHo5gTaMKr8pG+Z3O/kMM88cxCnX4vzaoF8LIL72Z3QN69US97FTkEykwg==
X-Received: by 2002:a2e:b994:0:b0:253:ec28:b0f4 with SMTP id p20-20020a2eb994000000b00253ec28b0f4mr7391013ljp.376.1653447012453;
Tue, 24 May 2022 19:50:12 -0700 (PDT)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id o14-20020a05651205ce00b0047255d211c2sm2845912lfo.241.2022.05.24.19.50.11
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Tue, 24 May 2022 19:50:11 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Wed, 25 May 2022 05:50:12 +0300
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: ~jvolkman <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc 0/2] Ignore undefined symbols when building
dynamic libraries on darwin
Message-ID: <20220525025012.jol5rxmt6trw2iph@mtpad.i.jakstys.lt>
References: <165344290967.21743.14923213680999840378-0@git.sr.ht>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <165344290967.21743.14923213680999840378-0@git.sr.ht>
On Wed, May 25, 2022 at 01:41:49AM +0000, ~jvolkman wrote:
> Hi,
>
> I'm working on a rule set to build Python modules using bazel cc
> toolchains, and found that with bazel-zig-cc, I'm unable to build native
> modules on macos. The issue turns out to be differences in handling
> undefined symbols at link time in linux vs. macos. When building for a
> linux target, zig ignores undefined symbols, but for macos they generate
> errors. In the case of Python, native modules never link against
> libpython. Instead, its symbols are provided when the module is loaded
> by the cpython interpreter (at least that's my understanding).
>
> See some discussion of this at
> https://github.com/ziglang/zig/issues/8180.
>
> This change adds dynamic_library_linkopts to zig_cc_toolchain_config
> which apply only to the cpp_link_dynamic_library and
> cpp_link_nodeps_dynamic_library. For darwin targets, I specify the
> -Wl,-undefined=dynamic_lookup flag. This logic is adapted from bazel's
> built-in macos toolchain [1].
>
> Thanks!
>
> [1]
> https://cs.github.com/bazelbuild/bazel/blob/ca40a514b8bc609478f769194909dd0be0afa1f9/tools/osx/crosstool/cc_toolchain_config.bzl#L1125-L1131
>
> Jeremy Volkman (2):
> Adds dynamic_library_linkopts to zig_cc_toolchain_config
> Pass "-Wl,-undefined=dynamic_lookup" for dynamic libraries on darwin.
Hi Jeremy,
looks like the patch broke ELF[1] on x86_64. Thus I did not reach your
patch carefully. Please let me know when I should take action.
Motiejus
[1]: https://builds.sr.ht/~motiejus/job/765889
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 30D7911EF8F
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 29 May 2022 16:35:45 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1653842139;
bh=3lr/B8kctcohxJulceGXqrAeF0rAo4vvlAUlJjPKfB8=;
h=From:To:Cc:Subject;
b=RnVyPvVZu72MYYeZl6JCFjkGNW+6rJos0RdIpO3ixufurxys7LLDuIsBPS3s5tKAz
z7+bsC4SkJXFcpoQuLwq5R/zkTNNisxASzjNWGtmTW4GW2vid+9y0xwke7NSEFuOeJ
js0r565hbuLspbO3qgJ97QtwazB68bNivlVYuMAY=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc v2 0/3] Windows support
Date: Sun, 29 May 2022 17:35:15 +0100
Message-Id: <20220529163518.182119-1-fabian@hahn.graphics>
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
Hello,
Second version of my patchset adding Windows support to bazel-zig-cc.
Changelog compared to v1:
- fixed lint failures
- dropped patch to add extra platform constraint settings
- added patch to add testing for Windows target using wine-binfmt
- added README.md entries explaining Windows support
I hope it passes CI, but I do not know how to trigger it other than
sending you a second patch version. In case of further failures, I
will of course look into fixing them. Please let me know if anything
looks like it is missing :)
Best,
Fabian
Fabian Hahn (3):
added Windows host support
added support for Windows targets
added Windows target testing
.build.yml | 1 +
README.md | 25 ++++++++++++-
WORKSPACE | 4 +-
ci/test | 14 ++++++-
test/c/BUILD | 24 +++++++++++-
test/c/main_winver.c | 16 ++++++++
toolchain/BUILD.sdk.bazel | 1 +
toolchain/defs.bzl | 58 +++++++++++++++++++++++------
toolchain/platform/defs.bzl | 7 +++-
toolchain/private/BUILD.sdk.bazel | 1 +
toolchain/private/cc_toolchains.bzl | 6 +--
toolchain/private/defs.bzl | 27 +++++++++++++-
12 files changed, 161 insertions(+), 23 deletions(-)
create mode 100644 test/c/main_winver.c
--
2.25.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 037A311EFDA
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 29 May 2022 16:35:47 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1653842139;
bh=DRX7i9Ak/QGm9u8e4hlcE65I6CQ3ouVLcq1JhLQrf2s=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=bhodRaWuU/xYDmHDfUi8bDJ+i/RsjhdZXiDKf9FtQaSvw4vpjsaeRPzsNTSarp5Vb
hjgSqJO6WepySqY+jvmjJT6WEfJuAeOhCaRjod7eAJiN5wRZ9XR3K2FXYfa7p1Szmq
B8lmHGvzA3fKIiJGKi47j9jHQaGq9N8tarIAH6kg=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc v2 3/3] added Windows target testing
Date: Sun, 29 May 2022 17:35:18 +0100
Message-Id: <20220529163518.182119-4-fabian@hahn.graphics>
In-Reply-To: <20220529163518.182119-1-fabian@hahn.graphics>
References: <20220529163518.182119-1-fabian@hahn.graphics>
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
---
.build.yml | 1 +
README.md | 10 ++++++++--
WORKSPACE | 4 +++-
ci/test | 14 ++++++++++++--
test/c/BUILD | 24 +++++++++++++++++++++++-
test/c/main_winver.c | 16 ++++++++++++++++
6 files changed, 63 insertions(+), 6 deletions(-)
create mode 100644 test/c/main_winver.c
diff --git a/.build.yml b/.build.yml
index 6aeec50..c9cbfa0 100644
--- a/.build.yml
+++ b/.build.yml
@@ -5,6 +5,7 @@ packages:
- qemu-user-static
- binfmt-support
- moreutils
+ - wine-binfmt
sources:
- https://git.sr.ht/~motiejus/bazel-zig-cc
environment:
diff --git a/README.md b/README.md
index e6fd5e2..7a86ced 100644
--- a/README.md
+++ b/README.md
@@ -401,8 +401,9 @@ This repository is used on the following (host) platforms:
- `windows_amd64`, a.k.a. `x64`.
The tests are running (CId) on linux-amd64, and are assuming the kernel is
-configured to run arm64 binaries. There are two reasonably convenient ways to
-configure arm64 emulation:
+configured to run `linux_arm64` and `windows_amd64` binaries.
+
+There are two reasonably convenient ways to configure `linux_arm64` emulation:
1. Install and configure [`binfmt_misc`][binfmt_misc]:
```
@@ -414,6 +415,11 @@ configure arm64 emulation:
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
```
+In order to install and configure `windows_amd64` emulation:
+```
+apt install wine-binfmt
+```
+
## Transient docker environment
A standalone Docker environment to play with bazel-zig-cc:
diff --git a/WORKSPACE b/WORKSPACE
index eff4a8f..c1b3c0f 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -51,11 +51,13 @@ zig_toolchains()
register_toolchains(
# if no `--platform` is specified, these toolchains will be used for
- # (linux,darwin)x(amd64,arm64)
+ # (linux,darwin,windows)x(amd64,arm64)
"@zig_sdk//toolchain:linux_amd64_gnu.2.19",
"@zig_sdk//toolchain:linux_arm64_gnu.2.28",
"@zig_sdk//toolchain:darwin_amd64",
"@zig_sdk//toolchain:darwin_arm64",
+ "@zig_sdk//toolchain:windows_amd64",
+ "@zig_sdk//toolchain:windows_arm64",
# amd64 toolchains for libc-aware platforms:
"@zig_sdk//libc_aware/toolchain:linux_amd64_gnu.2.19",
diff --git a/ci/test b/ci/test
index debdc0b..1ba6285 100755
--- a/ci/test
+++ b/ci/test
@@ -1,3 +1,13 @@
-#!/bin/sh
+#!/bin/bash
+set -euo pipefail
-exec bazel test ...
+bazel test ...
+
+# Windows tests
+# Unfortunately wine-binfmt breaks within the bazel sandbox, so we disable it
+# to run this test.
+bazel test //test/c:winver_windows_amd64 \
+ --spawn_strategy=standalone
+# There is no no easy way to run windows_arm64 binaries on Linux, so we just
+# cross compile one for testing.
+bazel build //test/c:winver_windows_arm64
diff --git a/test/c/BUILD b/test/c/BUILD
index 99e36c4..698c798 100644
--- a/test/c/BUILD
+++ b/test/c/BUILD
@@ -1,4 +1,4 @@
-load("@bazel-zig-cc//rules:platform.bzl", "platform_binary")
+load("@bazel-zig-cc//rules:platform.bzl", "platform_binary", "platform_test")
cc_binary(
name = "which_libc",
@@ -34,3 +34,25 @@ cc_binary(
("linux_arm64", "//platform:linux_arm64", "glibc_2.28"),
]
]
+
+cc_binary(
+ name = "winver",
+ srcs = ["main_winver.c"],
+ target_compatible_with = [
+ "@platforms//os:windows",
+ ],
+)
+
+platform_test(
+ name = "winver_windows_amd64",
+ src = "winver",
+ platform = "//platform:windows_amd64",
+ tags = ["manual"],
+)
+
+platform_binary(
+ name = "winver_windows_arm64",
+ src = "winver",
+ platform = "//platform:windows_arm64",
+ tags = ["manual"],
+)
diff --git a/test/c/main_winver.c b/test/c/main_winver.c
new file mode 100644
index 0000000..b5302af
--- /dev/null
+++ b/test/c/main_winver.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+#include <windows.h>
+
+int main() {
+ DWORD version = GetVersion();
+ DWORD majorVersion = (DWORD)(LOBYTE(LOWORD(version)));
+ DWORD minorVersion = (DWORD)(HIBYTE(LOWORD(version)));
+
+ DWORD build = 0;
+ if (version < 0x80000000) {
+ build = (DWORD)(HIWORD(version));
+ }
+
+ printf("Running Windows version %d.%d (%d).\n", majorVersion, minorVersion, build);
+ return 0;
+}
--
2.25.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id BFE6D11EFCE
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 29 May 2022 16:35:47 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1653842139;
bh=tvaGuRzASGGiRRWTMcTMnnGQ3oGSDo1KfvGZLm3bx7U=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=FF3KNoDO304ASBliu5lnL3qb3EVE14uIhSxW6TkJv18XRW1pIwfdA54hXQU+wlnJD
XFXyabVgPEZ2Zly3B/fcxXnDdZ9DXXt/M40f9zQx+sdoS8+Cd+Y98sJUdCptoz1pbY
dJ3C1QWXhvSIh+psgQNKN8VZDDf/lXBE02PYTvdw=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc v2 1/3] added Windows host support
Date: Sun, 29 May 2022 17:35:16 +0100
Message-Id: <20220529163518.182119-2-fabian@hahn.graphics>
In-Reply-To: <20220529163518.182119-1-fabian@hahn.graphics>
References: <20220529163518.182119-1-fabian@hahn.graphics>
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
---
README.md | 1 +
toolchain/BUILD.sdk.bazel | 1 +
toolchain/defs.bzl | 58 +++++++++++++++++++++++------
toolchain/private/BUILD.sdk.bazel | 1 +
toolchain/private/cc_toolchains.bzl | 6 +--
toolchain/private/defs.bzl | 8 +++-
6 files changed, 59 insertions(+), 16 deletions(-)
diff --git a/README.md b/README.md
index bbbd5bc..b092ae0 100644
--- a/README.md
+++ b/README.md
@@ -384,6 +384,7 @@ This repository is used on the following (host) platforms:
- `linux_arm64`, a.k.a. `AArch64`.
- `darwin_amd64`, the 64-bit post-PowerPC models.
- `darwin_arm64`, the M1.
+- `windows_amd64`, a.k.a. `x64`.
The tests are running (CId) on linux-amd64, and are assuming the kernel is
configured to run arm64 binaries. There are two reasonably convenient ways to
diff --git a/toolchain/BUILD.sdk.bazel b/toolchain/BUILD.sdk.bazel
index ada3e5d..e1505b1 100644
--- a/toolchain/BUILD.sdk.bazel
+++ b/toolchain/BUILD.sdk.bazel
@@ -7,6 +7,7 @@ package(
declare_files(
+ os = {os},
zig_include_root = {zig_include_root},
)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 9ab4e88..df2441d 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -1,6 +1,6 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "read_user_netrc", "use_netrc")
-load("@bazel-zig-cc//toolchain/private:defs.bzl", "DEFAULT_INCLUDE_DIRECTORIES", "ZIG_TOOL_PATH", "target_structs")
+load("@bazel-zig-cc//toolchain/private:defs.bzl", "DEFAULT_INCLUDE_DIRECTORIES", "target_structs", "zig_tool_path")
_fcntl_map = """
GLIBC_2.2.5 {
@@ -16,21 +16,21 @@ __asm__(".symver fcntl64, fcntl@GLIBC_2.2.5");
"""
# Official recommended version. Should use this when we have a usable release.
-URL_FORMAT_RELEASE = "https://ziglang.org/download/{version}/zig-{host_platform}-{version}.tar.xz"
+URL_FORMAT_RELEASE = "https://ziglang.org/download/{version}/zig-{host_platform}-{version}.{ext}"
# Caution: nightly releases are purged from ziglang.org after ~90 days. A real
# solution would be to allow the downstream project specify their own mirrors.
# This is explained in
# https://sr.ht/~motiejus/bazel-zig-cc/#alternative-download-urls and is
# awaiting my attention or your contribution.
-URL_FORMAT_NIGHTLY = "https://ziglang.org/builds/zig-{host_platform}-{version}.tar.xz"
+URL_FORMAT_NIGHTLY = "https://ziglang.org/builds/zig-{host_platform}-{version}.{ext}"
# Author's mirror that doesn't purge the nightlies so aggressively. I will be
# cleaning those up manually only after the artifacts are not in use for many
# months in bazel-zig-cc. dl.jakstys.lt is a small x86_64 server with an NVMe
# drive sitting in my home closet on a 1GB/s symmetric residential connection,
# which, as of writing, has been quite reliable.
-URL_FORMAT_JAKSTYS = "https://dl.jakstys.lt/zig/zig-{host_platform}-{version}.tar.xz"
+URL_FORMAT_JAKSTYS = "https://dl.jakstys.lt/zig/zig-{host_platform}-{version}.{ext}"
_VERSION = "0.10.0-dev.2252+a4369918b"
@@ -39,12 +39,22 @@ _HOST_PLATFORM_SHA256 = {
"linux-x86_64": "1d3c3769eba85a4334c93a3cfa35ad0ef914dd8cf9fd502802004c6908f5370c",
"macos-aarch64": "ab46e7499e5bd7b6d6ff2ac331e1a4aa875a01b270dc40306bc29dbaf216fccf",
"macos-x86_64": "fb213f996bcab805839e401292c42a92b63cd97deb1631e31bd61f534b7f6b1c",
+ "windows-x86_64": "14e43a64026512161f3d6201d8972a28f0508da2782c16e980f2ffa3bb7e6720",
+}
+
+_HOST_PLATFORM_EXT = {
+ "linux-aarch64": "tar.xz",
+ "linux-x86_64": "tar.xz",
+ "macos-aarch64": "tar.xz",
+ "macos-x86_64": "tar.xz",
+ "windows-x86_64": "zip",
}
def toolchains(
version = _VERSION,
url_formats = [URL_FORMAT_NIGHTLY, URL_FORMAT_JAKSTYS],
- host_platform_sha256 = _HOST_PLATFORM_SHA256):
+ host_platform_sha256 = _HOST_PLATFORM_SHA256,
+ host_platform_ext = _HOST_PLATFORM_EXT):
"""
Download zig toolchain and declare bazel toolchains.
The platforms are not registered automatically, that should be done by
@@ -56,11 +66,13 @@ def toolchains(
version = version,
url_formats = url_formats,
host_platform_sha256 = host_platform_sha256,
+ host_platform_ext = host_platform_ext,
host_platform_include_root = {
"linux-aarch64": "lib/zig/",
"linux-x86_64": "lib/",
"macos-aarch64": "lib/zig/",
"macos-x86_64": "lib/zig/",
+ "windows-x86_64": "lib/",
},
)
@@ -81,6 +93,10 @@ export ZIG_GLOBAL_CACHE_DIR=$ZIG_LOCAL_CACHE_DIR
exec "{zig}" "{zig_tool}" "$@"
"""
+ZIG_TOOL_WRAPPER_WINDOWS = """@echo off
+"{zig}" "{zig_tool}" %*
+"""
+
_ZIG_TOOLS = [
"c++",
"cc",
@@ -103,11 +119,16 @@ def _zig_repository_impl(repository_ctx):
if os.startswith("mac os"):
os = "macos"
+ if os.startswith("windows"):
+ os = "windows"
+
host_platform = "{}-{}".format(os, arch)
zig_include_root = repository_ctx.attr.host_platform_include_root[host_platform]
zig_sha256 = repository_ctx.attr.host_platform_sha256[host_platform]
+ zig_ext = repository_ctx.attr.host_platform_ext[host_platform]
format_vars = {
+ "ext": zig_ext,
"version": repository_ctx.attr.version,
"host_platform": host_platform,
}
@@ -121,12 +142,19 @@ def _zig_repository_impl(repository_ctx):
)
for zig_tool in _ZIG_TOOLS:
- repository_ctx.file(
- ZIG_TOOL_PATH.format(zig_tool = zig_tool),
- ZIG_TOOL_WRAPPER.format(
- zig = str(repository_ctx.path("zig")),
+ zig_tool_wrapper = ZIG_TOOL_WRAPPER.format(
+ zig = str(repository_ctx.path("zig")),
+ zig_tool = zig_tool,
+ )
+ if os == "windows":
+ zig_tool_wrapper = ZIG_TOOL_WRAPPER_WINDOWS.format(
+ zig = str(repository_ctx.path("zig")).replace("/", "\\") + ".exe",
zig_tool = zig_tool,
- ),
+ )
+
+ repository_ctx.file(
+ zig_tool_path(os).format(zig_tool = zig_tool),
+ zig_tool_wrapper,
)
repository_ctx.file(
@@ -157,6 +185,7 @@ def _zig_repository_impl(repository_ctx):
executable = False,
substitutions = {
"{absolute_path}": _quote(str(repository_ctx.path(""))),
+ "{os}": _quote(os),
"{zig_include_root}": _quote(zig_include_root),
},
)
@@ -167,6 +196,7 @@ zig_repository = repository_rule(
"host_platform_sha256": attr.string_dict(),
"url_formats": attr.string_list(allow_empty = False),
"host_platform_include_root": attr.string_dict(),
+ "host_platform_ext": attr.string_dict(),
},
implementation = _zig_repository_impl,
)
@@ -175,9 +205,13 @@ def filegroup(name, **kwargs):
native.filegroup(name = name, **kwargs)
return ":" + name
-def declare_files(zig_include_root):
+def declare_files(os, zig_include_root):
filegroup(name = "empty")
- native.exports_files(["zig"], visibility = ["//visibility:public"])
+ if os == "windows":
+ native.exports_files(["zig.exe"], visibility = ["//visibility:public"])
+ native.alias(name = "zig", actual = ":zig.exe")
+ else:
+ native.exports_files(["zig"], visibility = ["//visibility:public"])
filegroup(name = "lib/std", srcs = native.glob(["lib/std/**"]))
lazy_filegroups = {}
diff --git a/toolchain/private/BUILD.sdk.bazel b/toolchain/private/BUILD.sdk.bazel
index 39a6a93..3e7c23e 100644
--- a/toolchain/private/BUILD.sdk.bazel
+++ b/toolchain/private/BUILD.sdk.bazel
@@ -1,6 +1,7 @@
load("@bazel-zig-cc//toolchain/private:cc_toolchains.bzl", "declare_cc_toolchains")
declare_cc_toolchains(
+ os = {os},
absolute_path = {absolute_path},
zig_include_root = {zig_include_root},
)
diff --git a/toolchain/private/cc_toolchains.bzl b/toolchain/private/cc_toolchains.bzl
index 64e99f1..e6594db 100644
--- a/toolchain/private/cc_toolchains.bzl
+++ b/toolchain/private/cc_toolchains.bzl
@@ -1,4 +1,4 @@
-load(":defs.bzl", "DEFAULT_INCLUDE_DIRECTORIES", "ZIG_TOOL_PATH", "target_structs")
+load(":defs.bzl", "DEFAULT_INCLUDE_DIRECTORIES", "target_structs", "zig_tool_path")
load("@bazel-zig-cc//toolchain:zig_toolchain.bzl", "zig_cc_toolchain_config")
DEFAULT_TOOL_PATHS = {
@@ -11,7 +11,7 @@ DEFAULT_TOOL_PATHS = {
"strip": "/usr/bin/false",
}.items()
-def declare_cc_toolchains(absolute_path, zig_include_root):
+def declare_cc_toolchains(os, absolute_path, zig_include_root):
for target_config in target_structs():
gotarget = target_config.gotarget
zigtarget = target_config.zigtarget
@@ -28,7 +28,7 @@ def declare_cc_toolchains(absolute_path, zig_include_root):
if path[0] == "/":
absolute_tool_paths[name] = path
continue
- tool_path = ZIG_TOOL_PATH.format(zig_tool = path)
+ tool_path = zig_tool_path(os).format(zig_tool = path)
absolute_tool_paths[name] = "%s/%s" % (absolute_path, tool_path)
linkopts = target_config.linkopts
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 6059065..6804104 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -4,7 +4,7 @@ DEFAULT_INCLUDE_DIRECTORIES = [
"libcxxabi/include",
]
-ZIG_TOOL_PATH = "tools/{zig_tool}"
+_ZIG_TOOL_PATH = "tools/{zig_tool}"
# Zig supports even older glibcs than defined below, but we have tested only
# down to 2.17.
@@ -30,6 +30,12 @@ _GLIBCS = [
LIBCS = ["musl"] + ["gnu.{}".format(glibc) for glibc in _GLIBCS]
+def zig_tool_path(os):
+ if os == "windows":
+ return _ZIG_TOOL_PATH + ".bat"
+ else:
+ return _ZIG_TOOL_PATH
+
def target_structs():
ret = []
for zigcpu, gocpu in (("x86_64", "amd64"), ("aarch64", "arm64")):
--
2.25.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 4AC1111EFC5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 29 May 2022 16:35:48 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1653842139;
bh=shT4KHFKEaq2CJ4sf4KM1Z6DfL5toz9ES9J0EV2qlW0=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=Wi6W5SI4d9ZzEXT6WO62mHVqCT9CiAfIqdx2D8658kTd7w8Yt2qr4Z64v1etaYyZk
YCcBTw217N5J/ug4J6AsWuu85pBBe9rBgMaNl57L61MaxH8KU/p0izn7ePdg6liXB6
2aEh8lNIHmjQye0ZtrYmaR2vN3S01X9UWn3sQmc8=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc v2 2/3] added support for Windows targets
Date: Sun, 29 May 2022 17:35:17 +0100
Message-Id: <20220529163518.182119-3-fabian@hahn.graphics>
In-Reply-To: <20220529163518.182119-1-fabian@hahn.graphics>
References: <20220529163518.182119-1-fabian@hahn.graphics>
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
---
README.md | 14 ++++++++++++++
toolchain/platform/defs.bzl | 7 ++++++-
toolchain/private/defs.bzl | 19 +++++++++++++++++++
3 files changed, 39 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index b092ae0..e6fd5e2 100644
--- a/README.md
+++ b/README.md
@@ -152,6 +152,8 @@ register_toolchains(
"@zig_sdk//toolchain:linux_arm64_gnu.2.28",
"@zig_sdk//toolchain:darwin_amd64",
"@zig_sdk//toolchain:darwin_arm64",
+ "@zig_sdk//toolchain:windows_amd64",
+ "@zig_sdk//toolchain:windows_arm64",
)
```
@@ -318,6 +320,18 @@ is currently not implemented.
target macos.10 (Catalina), macos.11 (Big Sur) or macos.12 (Monterey). It
currently targets the lowest version, without ability to change it.
+## Windows: output file extensions
+
+Bazel won't use common Windows file extensions for built output binaries.
+Instead, it will generate binaries with common Unix extensions that you might
+have to manually rename before deploying them to an actual Windows system:
+
+| Binary type | Bazel extension | Windows extension |
+|----------------|-----------------|-------------------|
+| Static library | .a | .lib |
+| Shared library | .so | .dll |
+| Executable | (no extension) | .exe |
+
# Known Issues In Upstream
This section lists issues that I've stumbled into when using `zig cc`, and is
diff --git a/toolchain/platform/defs.bzl b/toolchain/platform/defs.bzl
index cf42191..07e69a6 100644
--- a/toolchain/platform/defs.bzl
+++ b/toolchain/platform/defs.bzl
@@ -1,11 +1,16 @@
load("@bazel-zig-cc//toolchain/private:defs.bzl", "LIBCS")
_CPUS = (("x86_64", "amd64"), ("aarch64", "arm64"))
+_OS = {
+ "linux": ["linux"],
+ "macos": ["macos", "darwin"],
+ "windows": ["windows"],
+}
def declare_platforms():
# create @zig_sdk//{os}_{arch}_platform entries with zig and go conventions
for zigcpu, gocpu in _CPUS:
- for bzlos, oss in {"linux": ["linux"], "macos": ["macos", "darwin"]}.items():
+ for bzlos, oss in _OS.items():
for os in oss:
declare_platform(gocpu, zigcpu, bzlos, os)
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 6804104..2ba61f7 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -40,6 +40,7 @@ def target_structs():
ret = []
for zigcpu, gocpu in (("x86_64", "amd64"), ("aarch64", "arm64")):
ret.append(_target_darwin(gocpu, zigcpu))
+ ret.append(_target_windows(gocpu, zigcpu))
ret.append(_target_linux_musl(gocpu, zigcpu))
for glibc in _GLIBCS:
ret.append(_target_linux_gnu(gocpu, zigcpu, glibc))
@@ -69,6 +70,24 @@ def _target_darwin(gocpu, zigcpu):
tool_paths = {"ld": "ld64.lld"},
)
+def _target_windows(gocpu, zigcpu):
+ return struct(
+ gotarget = "windows_{}".format(gocpu),
+ zigtarget = "{}-windows-gnu".format(zigcpu),
+ includes = [
+ "libunwind/include",
+ "libc/include/any-windows-any",
+ ],
+ linkopts = [],
+ copts = [],
+ bazel_target_cpu = "x64_windows",
+ constraint_values = [
+ "@platforms//os:windows",
+ "@platforms//cpu:{}".format(zigcpu),
+ ],
+ tool_paths = {"ld": "ld64.lld"},
+ )
+
def _target_linux_gnu(gocpu, zigcpu, glibc_version):
glibc_suffix = "gnu.{}".format(glibc_version)
--
2.25.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=5nZe6SoH5njYr0DiIik//7O2RdQQvmVMMBKXvF8TMmU=;
c=simple/simple; d=sr.ht; h=Date:Subject:To:Cc:From:In-Reply-To;
q=dns/txt; s=srht; t=1653843929; v=1;
b=OXPzKb9TP2M16GsDGD3093RXX7AcPNyYxKWNMMcCJYv0VvTzTKwx0dhlzjrFkuTljfr0hkq0
QBwIWHuM/TXA7UQa6YJvrvozaFyMyJ20sxsPP20w3YGXtrm3o4txzZVNWb1JsqpFc3rH0Y5ss3d
VX6dHzPhRSoWj+SNseJJjWTNqfipZa4WgZ6tQl7XjPTFkql8hGSYtlssyDc9bEvX7M2pMIG10jR
G+REG2qGCLYFANEL2HscJTivgz2JU2PII0CzNbSVWnQqzuYwXKHTxrNF7kot/UMiAGSv+l6LqZ1
HG6zKLQmMRyvdefSjH9IKiDOE30hT0XxhUzcBvsrAfs9w==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 3A33311EF8F;
Sun, 29 May 2022 17:05:29 +0000 (UTC)
MIME-Version: 1.0
Date: Sun, 29 May 2022 17:05:29 +0000
Subject: [bazel-zig-cc/patches/.build.yml] build failed
To: "Fabian Hahn" <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CKCEQSA31LED.TXUT9YCT7H6C@cirno>
In-Reply-To: <20220529163518.182119-3-fabian@hahn.graphics>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: FAILED in 29m34s
[Windows support][0] v2 from [Fabian Hahn][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/32601
[1]: mailto:fabian@hahn.graphics
=E2=9C=97 #769696 FAILED bazel-zig-cc/patches/.build.yml https://builds.sr.=
ht/~motiejus/job/769696
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f49.google.com (mail-oa1-f49.google.com [209.85.160.49])
by mail-b.sr.ht (Postfix) with ESMTPS id 7C40811EFC4
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 30 May 2022 12:37:58 +0000 (UTC)
Received: by mail-oa1-f49.google.com with SMTP id 586e51a60fabf-f2cd424b9cso14148271fac.7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 30 May 2022 05:37:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc;
bh=c9kaxEn5khS5ZUu9L05plIIYjAP/cRIY0U2L/uJNU9s=;
b=eT+xGhFVI7OXVj9EXDESyy9NhCBw37dzafrDthILfbfLdoKBYbZF4/SgYfIfSXlDXL
Mn7ErZ9VcsqePCIZPfg8lUFrdbRwcp7jkJvmP01Z7JK/0gOIUawcUP4oSi2VQKGLGMxa
Jc0jq6N62ZLuRhDP0B2GvSLRO/eRaOlqlg1kVQwGcnW9mWzSTPhNn7JnrvOD9len9/Ng
aOBHH9ElRKTMTec0DAbuqHN49lZ5etEhuNLNFYzDLrvrfEwUxBaXdIQB7uG1Dd1gNI2r
MN4FnIxDFmCy9voLUK1HSl6PnQkeSsw73NwhSlGPe89deIjBwz+SDZ3mmm7wv6CMGkcu
4HQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=c9kaxEn5khS5ZUu9L05plIIYjAP/cRIY0U2L/uJNU9s=;
b=cWtcqEx6XzOdyk7UzX3BB+Lw0sWmmQz5rnztJ0HTOEL8PERDHrShvop8l+RfCvmmfx
pXbl0es9HOSoDPAbOGOBp0F5xMQriDvAMqXRgxCsvVnbVoptauoV3GiuEL8t4ZE4augb
/TAQxRjP8kImsIrxAj3tu9CoisSKO2dlQi6VVWPFidIM5+hisLXW2ZJpD7t9QREAzM5Y
2mtLNKldnrl8+5NlGpFKeD9jjVdwiuoLL2G/8WpQPq6FoU1D7JIR7ux0im49NLfHG2N7
BX6Y8OlnXQVd/oRK5rzDVieNyKqJ8lSkxWhjx/WHF3BZR/lMeF7M8/X2I3wiA1TjiP+X
fmBw==
X-Gm-Message-State: AOAM530pMRMnobCAVrBpI/rRXeVHg1e6d7TAu+SFng02De0B4dXfOfh8
bOKAZLr22/ncTxwlFh1a6mCp3xCJhOXimBcoSK1mdpz4aIo=
X-Google-Smtp-Source: ABdhPJytiM3jP/NZaZk6e2A+jBV8hM3t6yyEXzKj98SF5eY7zpf/7vi/cceIOLwMzO4C6D0Twm0suGK7iZ2vGiUBQtw=
X-Received: by 2002:a05:6870:f5a5:b0:f2:d204:cc3c with SMTP id
eh37-20020a056870f5a500b000f2d204cc3cmr10633803oab.35.1653914277843; Mon, 30
May 2022 05:37:57 -0700 (PDT)
MIME-Version: 1.0
References: <20220529163518.182119-1-fabian@hahn.graphics>
In-Reply-To: <20220529163518.182119-1-fabian@hahn.graphics>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Mon, 30 May 2022 15:37:47 +0300
Message-ID: <CAFVMu-ps+Pt5DqSnUZ323sDcQB-MmjBg01nMfHK+kxtgr0Ew_g@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc v2 0/3] Windows support
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
On Sun, May 29, 2022 at 7:35 PM Fabian Hahn <fabian@hahn.graphics> wrote:
>
> Hello,
>
> Second version of my patchset adding Windows support to bazel-zig-cc.
>
> Changelog compared to v1:
> - fixed lint failures
> - dropped patch to add extra platform constraint settings
> - added patch to add testing for Windows target using wine-binfmt
> - added README.md entries explaining Windows support
>
> I hope it passes CI, but I do not know how to trigger it other than
> sending you a second patch version. In case of further failures, I
> will of course look into fixing them. Please let me know if anything
> looks like it is missing :)
Hi, Fabian,
As you may have noticed, the past patchset doesn't pass CI. If you
have a Linux machine, the tests are quite easy to execute manually[1].
Otherwise don't worry about sending multiple patch versions; I am
happy to ignore the patchsets (and the emails from the CI) until the
tests pass. That's what they are there for!
You can also use a transient docker environment[2] to isolate yourself
from the host OS. Let me know if that works for you.
Motiejus
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/main/item/.build.yml
[2]: https://git.sr.ht/~motiejus/bazel-zig-cc#transient-docker-environment
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id C570811EEAC
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 1 Jun 2022 01:58:18 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Wed, 01 Jun 2022 01:58:18 +0000
Subject: [PATCH bazel-zig-cc 0/2] Ignore undefined symbols when building
dynamic libraries on darwin
MIME-Version: 1.0
Message-ID: <165404869855.21942.14779642481390967131-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Hi,
Here's an updated version of this patchset that fixes an operator
precedence issue in zig_toolchain.bzl when building flag_sets.
//test/gorace:gorace_test was failing before, but now passes.
I haven't been able to get the arm64 tests to pass locally. Here's
hoping they work too!
Jeremy Volkman (2):
Adds dynamic_library_linkopts to zig_cc_toolchain_config
Pass "-Wl,-undefined=dynamic_lookup" for dynamic libraries on darwin.
toolchain/private/cc_toolchains.bzl | 2 ++
toolchain/private/defs.bzl | 3 +++
toolchain/zig_toolchain.bzl | 22 +++++++++++++++++++---
3 files changed, 24 insertions(+), 3 deletions(-)
--
2.34.2
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id F408D11EF01
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 1 Jun 2022 01:58:18 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Tue, 24 May 2022 17:14:35 -0700
Subject: [PATCH bazel-zig-cc 1/2] Adds dynamic_library_linkopts to
zig_cc_toolchain_config
Message-ID: <165404869855.21942.14779642481390967131-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
In-Reply-To: <165404869855.21942.14779642481390967131-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Jeremy Volkman <jeremy@jvolkman.com>
If specified, the flags in dynamic_library_linkopts are included in
cpp_link_dynamic_library and cpp_link_nodeps_dynamic_library actions.
---
toolchain/private/cc_toolchains.bzl | 2 ++
toolchain/private/defs.bzl | 3 +++
toolchain/zig_toolchain.bzl | 22 +++++++++++++++++++---
3 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/toolchain/private/cc_toolchains.bzl b/toolchain/private/cc_toolc=
hains.bzl
index 64e99f1..3a1e1cb 100644
--- a/toolchain/private/cc_toolchains.bzl
+++ b/toolchain/private/cc_toolchains.bzl
@@ -32,6 +32,7 @@ def declare_cc_toolchains(absolute_path, zig_include_root):
absolute_tool_paths[name] =3D "%s/%s" % (absolute_path, tool_pat=
h)
=20
linkopts =3D target_config.linkopts
+ dynamic_library_linkopts =3D target_config.dynamic_library_linkopts
copts =3D target_config.copts
for s in getattr(target_config, "linker_version_scripts", []):
linkopts =3D linkopts + ["-Wl,--version-script,%s/%s" % (absolut=
e_path, s)]
@@ -45,6 +46,7 @@ def declare_cc_toolchains(absolute_path, zig_include_root):
cxx_builtin_include_directories =3D cxx_builtin_include_director=
ies,
copts =3D copts,
linkopts =3D linkopts,
+ dynamic_library_linkopts =3D dynamic_library_linkopts,
target_cpu =3D target_config.bazel_target_cpu,
target_system_name =3D "unknown",
target_libc =3D "unknown",
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 6059065..053641c 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -54,6 +54,7 @@ def _target_darwin(gocpu, zigcpu):
"libc/include/any-macos-any",
],
linkopts =3D [],
+ dynamic_library_linkopts =3D [],
copts =3D [],
bazel_target_cpu =3D "darwin",
constraint_values =3D [
@@ -84,6 +85,7 @@ def _target_linux_gnu(gocpu, zigcpu, glibc_version):
compiler_extra_includes =3D ["glibc-hacks/glibchack-fcntl.h"] if fcn=
tl_hack else [],
linker_version_scripts =3D ["glibc-hacks/fcntl.map"] if fcntl_hack e=
lse [],
linkopts =3D ["-lc++", "-lc++abi"],
+ dynamic_library_linkopts =3D [],
copts =3D [],
bazel_target_cpu =3D "k8",
constraint_values =3D [
@@ -105,6 +107,7 @@ def _target_linux_musl(gocpu, zigcpu):
"libc/include/{}-linux-any".format(zigcpu),
] + (["libc/include/x86-linux-any"] if zigcpu =3D=3D "x86_64" else [=
]),
linkopts =3D ["-s", "-w"],
+ dynamic_library_linkopts =3D [],
copts =3D ["-D_LIBCPP_HAS_MUSL_LIBC", "-D_LIBCPP_HAS_THREAD_API_PTHR=
EAD"],
bazel_target_cpu =3D "k8",
constraint_values =3D [
diff --git a/toolchain/zig_toolchain.bzl b/toolchain/zig_toolchain.bzl
index aa14ec1..f22bc4c 100644
--- a/toolchain/zig_toolchain.bzl
+++ b/toolchain/zig_toolchain.bzl
@@ -14,6 +14,11 @@ all_link_actions =3D [
ACTION_NAMES.cpp_link_nodeps_dynamic_library,
]
=20
+dynamic_library_link_actions =3D [
+ ACTION_NAMES.cpp_link_dynamic_library,
+ ACTION_NAMES.cpp_link_nodeps_dynamic_library,
+]
+
compile_and_link_actions =3D [
ACTION_NAMES.c_compile,
ACTION_NAMES.cpp_compile,
@@ -73,21 +78,31 @@ def _zig_cc_toolchain_config_impl(ctx):
],
)
=20
+ if ctx.attr.dynamic_library_linkopts:
+ dynamic_library_flag_sets =3D [
+ flag_set(
+ actions =3D dynamic_library_link_actions,
+ flag_groups =3D [flag_group(flags =3D ctx.attr.dynamic_libra=
ry_linkopts)],
+ ),
+ ]
+ else:
+ dynamic_library_flag_sets =3D []
+
default_linker_flags =3D feature(
name =3D "default_linker_flags",
enabled =3D True,
flag_sets =3D [
flag_set(
actions =3D all_link_actions,
- flag_groups =3D ([
+ flag_groups =3D [
flag_group(
flags =3D ["-target", ctx.attr.target] +
no_gc_sections +
ctx.attr.linkopts,
),
- ]),
+ ],
),
- ],
+ ] + dynamic_library_flag_sets,
)
=20
features =3D [
@@ -119,6 +134,7 @@ zig_cc_toolchain_config =3D rule(
attrs =3D {
"cxx_builtin_include_directories": attr.string_list(),
"linkopts": attr.string_list(),
+ "dynamic_library_linkopts": attr.string_list(),
"copts": attr.string_list(),
"tool_paths": attr.string_dict(),
"target": attr.string(),
--=20
2.34.2
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 1C59911EEAC
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 1 Jun 2022 01:58:19 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Tue, 24 May 2022 17:17:33 -0700
Subject: [PATCH bazel-zig-cc 2/2] Pass "-Wl,-undefined=dynamic_lookup" for
dynamic libraries on darwin.
Message-ID: <165404869855.21942.14779642481390967131-2@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
In-Reply-To: <165404869855.21942.14779642481390967131-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
From: Jeremy Volkman <jeremy@jvolkman.com>
This linker flag causes undefined symbols to be ignored, which is the
default behavior on linux but not macos. This is required when building
shared libraries to use as e.g. Python modules. This also matches what
Bazel's built-in macos cc toolchain does.
---
toolchain/private/defs.bzl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 053641c..42aaaeb 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -54,7 +54,7 @@ def _target_darwin(gocpu, zigcpu):
"libc/include/any-macos-any",
],
linkopts = [],
- dynamic_library_linkopts = [],
+ dynamic_library_linkopts = ["-Wl,-undefined=dynamic_lookup"],
copts = [],
bazel_target_cpu = "darwin",
constraint_values = [
--
2.34.2
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=ROrH1fl4aXGJDhhg7ecSxnS+aDbQ/KM1o2w4Tc4xcDU=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1654049536; v=1;
b=G9xsTIIzrHF9PoYIBvYHxZTNKGD3IUnLiG3ErFS0TzBko6BOSlwFfdVEeNN3OLg3oxuKTFk+
5orIhabsTCsewC4HzAHwpF4jRcH6EeafODJTJMLC6DY8empAgXM+afq91SwXhVkzWK6Jjnp3rDr
EzvtdH/LIt9PydQQo+vs5WXm/dgU/AKxK4iNCFv1FzbmBVYuwGGdhCpn0rHDyO/W5+tekMEMss0
03ISP7EHmrNyQg6PiaXA5wRjzOnRIrMAD8Oldrhn3Qh0013TxPUkT/YzYVbZO9QV/TQb/vMKnN5
BLjZ0bltbf+m3GDjhaoSfRH20AdtpEFo931Zx0xwRNwyw==
Received: from localhost (unknown [173.195.146.244])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id E94AD11EEAC;
Wed, 1 Jun 2022 02:12:16 +0000 (UTC)
MIME-Version: 1.0
Date: Wed, 01 Jun 2022 02:12:16 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CKEFMJ9V23W8.2WPHUNU0SM2FZ@cirno2>
In-Reply-To: <165404869855.21942.14779642481390967131-2@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~jvolkman" <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 13m55s
[Ignore undefined symbols when building dynamic libraries on darwin][0] fro=
m [~jvolkman][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/32674
[1]: mailto:jeremy@jvolkman.com
=E2=9C=93 #771513 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/771513
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oi1-f180.google.com (mail-oi1-f180.google.com [209.85.167.180])
by mail-b.sr.ht (Postfix) with ESMTPS id 8750411EEB5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 1 Jun 2022 09:02:18 +0000 (UTC)
Received: by mail-oi1-f180.google.com with SMTP id k11so1787872oia.12
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 01 Jun 2022 02:02:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc;
bh=WVBKt6nKOhROJQBG791R/QKA4rxCC0/sxfJ8tzBFMQw=;
b=zN2PmSeHoXVMoGsCOfUSVeXe9H2tokMaebDGt6CG5zutUSs7l5+/kG9P9plKjCF6C6
mmW6bn+WCfzX59AsyVWZ7rGCp63a8mE16BVlNfWAKL/B6Pi3rO0C294Eyb0ctmsDWB52
FJ4SAKfyN7FOSSsn68nQ9urXbLeNnwo0fNVOieeuqF5hTefCCp7WF2QbI0iAb6hHrEZs
u8yRKeR8v+vqtPzLodYJDb/hnGUHZPpDD7t4AlKJig15Fua2v1bV/agqJBp6tllnX6vb
cLOpK8r1h7JBU4b8+9nMsGeF5+KlWCxyiWnmNRGAXdEVNySjeylaGVrL+QtROTxFGtMY
9xlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=WVBKt6nKOhROJQBG791R/QKA4rxCC0/sxfJ8tzBFMQw=;
b=BfI9J3uByh1jmDTGqcIEa5a1NJuGGrgEcUWRnFWTtDzVVVxsf2kP4Dqzyu/GI1LxQg
FX5ef1+A9zIyMnoC6K2okZyJ0jMpZxPpbSFBJSkAZrhy9lNimrcFSs1+OecfCE3HTy0n
B9it/Yn7yKHC81rBcy9GNnjq5ggTOkC8fYEMh1VAX3107zEf+EBpD43NZqQfI/tcAEM6
epm+btgCAfiDugPfcYW6M3yXjQ4cQgyKIIhWGwm/qwehwnwW8zcDRXzXW6v8JT0rNIFt
rby6xAbJoWaIPMYVQnizg0nTYwAC/+uDqZwl750bmwJ4nqk642sK5hvu0SKWbjzPmrUQ
h13g==
X-Gm-Message-State: AOAM533x71M6Z1X9nsmyUyMMthKZiurThyQ6pYXcGLdvJkbYGzMMkhh8
uT1RFGg9CgXFPpp+iOkhwNzLL9NspYQ3HQWx1FHfwRI29ic=
X-Google-Smtp-Source: ABdhPJwK3jxz73xdi701oWU7OHVC3Xp+wc+iXNniSo/ze9tK6TeP6YYVCT2nqfg9oAFRpWLhq7i8aPpNYi1HyqKmhYg=
X-Received: by 2002:a05:6808:1527:b0:32e:8d6:d30f with SMTP id
u39-20020a056808152700b0032e08d6d30fmr3844407oiw.35.1654074137829; Wed, 01
Jun 2022 02:02:17 -0700 (PDT)
MIME-Version: 1.0
References: <165404869855.21942.14779642481390967131-0@git.sr.ht>
In-Reply-To: <165404869855.21942.14779642481390967131-0@git.sr.ht>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Wed, 1 Jun 2022 12:02:06 +0300
Message-ID: <CAFVMu-qEJGEUdQSpzYegi+3Z8c1iEDagdd8a1Jv2JP-6+pBy8Q@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc 0/2] Ignore undefined symbols when building
dynamic libraries on darwin
To: "~jvolkman" <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
On Wed, Jun 1, 2022 at 4:58 AM ~jvolkman <jvolkman@git.sr.ht> wrote:
>
> Hi,
>
> Here's an updated version of this patchset that fixes an operator
> precedence issue in zig_toolchain.bzl when building flag_sets.
> //test/gorace:gorace_test was failing before, but now passes.
As I have no idea how this works on Darwin, and we don't use Darwin
targets internally yet, my acceptance criteria for Darwin is:
- CI passes.
- after reading the commit messages it seems like you know what you
are doing. Though for next time please add more links where those are
discussed.
- I trust people on internet by default (in other words, I don't have
a reason to not trust you).
Applied.
> I haven't been able to get the arm64 tests to pass locally. Here's
> hoping they work too!
I assume you mean linux_arm64. That fails for me too, because it is
relying on system's arm64 libc. The real resolution would be to use a
hermetic libc, which I haven't gotten around doing yet. But as long as
CI passes, we're good.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com [209.85.167.174])
by mail-b.sr.ht (Postfix) with ESMTPS id 8EC6211EEB5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 1 Jun 2022 09:10:38 +0000 (UTC)
Received: by mail-oi1-f174.google.com with SMTP id s188so1863389oie.4
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 01 Jun 2022 02:10:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=mime-version:from:date:message-id:subject:to;
bh=SYDruTTY8y1MIH2djeXys76g+D0h3n0YFtaTqdy94p0=;
b=jyyMYy4HuUsG2Cues1SfIeDKJ3Rhd+VZDBJljapjqPIgVSbRIQTVOOpOgZmjoPVrZG
HuJ4sgSmbXE9WYp8K6DQ2v8pXK9x74EeC93W6WTOo21aoZdgGQ/JjJaTcOv/7h+FfGRR
ECrc/aRcEmTR3owfLD0prvzIf5rgzCqUC4wdeju/oq8t/1JNDbTZayufN8ZFdyacL4Xl
4zRMZaAC0apEJw82yHqRcsMSFiqxO/ctf6cqIwBzd5oWs9ckoR4BfYvmQvLlVu8trOuO
d4PySMJd8sfFj0FaDPtEQpiLDMPa/UAIizjlLFs3nBlroDHyWc/Syv2SuGk3tHx4XXxN
nppA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
bh=SYDruTTY8y1MIH2djeXys76g+D0h3n0YFtaTqdy94p0=;
b=3KyVRjk21TECUzgt2TeTRwrTFv7CJutrrfhFMcbjBjiYLSE2tf0h+yJw6PaY5Kfk9A
PJs6WzC1aOkD3Fyii5IrCgohJ09HvALZCaaqIEikoYrNg+ePhqToi0CS5+M3Yr6nFepv
L3cNaSdKQdGD3+pCg6RT3YdzXp4FID/MBll2h3umIeFNCxiGCfgv+EpD1pXxRiercFua
bKIiGL62OSYKmx4t1ZU2I/N9iBsKowh9a0iUtUG9VtdWC7oXUePVpx2ABd3QekoedROU
4oE9W641IKCUB8L9Q5L27w74YEfsoTDQpFORarJBqDpiXVgnfdYqqsdletX5kWOAaQrm
xLaQ==
X-Gm-Message-State: AOAM531ZvlTWjQGpQ2IbCGm9H37tPVQ/sKcdc/RQ5U8b1+L2ARLz1FF8
QpBM7XOXZ/SxUcJUa/zkgpBexYuwYyI5UxJqmBNITAgwTkM=
X-Google-Smtp-Source: ABdhPJx9CF9smdMFad3mTie8ZS7qx1apPTPd+Oxde83skYWTEYidXd1oV7vnvNMgGBjr538sl8c/CsTMJC709uDFvQs=
X-Received: by 2002:a05:6808:1527:b0:32e:8d6:d30f with SMTP id
u39-20020a056808152700b0032e08d6d30fmr3866277oiw.35.1654074637846; Wed, 01
Jun 2022 02:10:37 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus.jakstys@gmail.com>
Date: Wed, 1 Jun 2022 12:10:27 +0300
Message-ID: <CAFVMu-qt+27Xq+SAZsJvNJjKG5DyXQ9Rp71GqWg+f-zgn3WFaA@mail.gmail.com>
Subject: bazel-zig-cc v0.7.3 and published Zig Milan talk
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi folks,
If you haven't seen, my Zig Milan talk about Zig and Uber was
published[1], together with an accompanying blog post[2].
Now to our bazel-zig-cc changelog from v0.7.2 to v0.7.3:
# zig sdk: download from zig upstream as well as jakstys.lt
This will prefer Zig upstream mirror over my server. This should
increase reliability. I hope Bazel will try the secondary mirror when
it gets a 404 from Zig's. Time will tell.
# Darwin changes by Jeremy Volkman
See the thread discussing the patch[3] for more info.
Motiejus
[1]: https://www.youtube.com/watch?v=SCj2J3HcEfc
[2]: https://jakstys.lt/2022/how-uber-uses-zig/
[3]: https://lists.sr.ht/~motiejus/bazel-zig-cc/%3C165404869855.21942.14779642481390967131-0%40git.sr.ht%3E#%3CCAFVMu-qEJGEUdQSpzYegi+3Z8c1iEDagdd8a1Jv2JP-6+pBy8Q@mail.gmail.com%3E
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f54.google.com (mail-oa1-f54.google.com [209.85.160.54])
by mail-b.sr.ht (Postfix) with ESMTPS id D569211EEC2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 1 Jun 2022 09:36:42 +0000 (UTC)
Received: by mail-oa1-f54.google.com with SMTP id 586e51a60fabf-e93bbb54f9so1922362fac.12
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 01 Jun 2022 02:36:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc;
bh=S29EghuRv0xDMDewiWDbsQxoklo64IZhi7BpI4ARk1Q=;
b=6UHUA0nUrQU1beG/CFRQLYXIvKac0Q/9T11PcpIqIZN+MuT8v3VsTlFPYanRFVIyMv
S6QxEFG59ya+Vxf5yL6RPf+BDf1o+YfF0xJ8FwyerH1MVGol6VtqQEUUukN5bRdns2hj
NNgcgQ1LKBFwd4IOVsYJKdoCDS4c0DiQU7KumIAqJqkzIC5LXS76sPBpSPx2Gmgit7Df
ES4twf/scRyqf5gTiJZo5L9DwRkUevZVtiiq5PbpBRUOiKXYT10TeebFQxXizvNeCtK+
mg6ScDcElyeT/N3Aq0MdJSp6ubDl0NF3VDzzs+jfnpcLhfbj6CKbttLHn9vMaS7sFTd3
VP7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=S29EghuRv0xDMDewiWDbsQxoklo64IZhi7BpI4ARk1Q=;
b=UNMGJSsI/6RUHKQpJwhwgVZ9miGFMgDiiNIyUwufbRlRYj6kQy7D9NStCykUSQI0GU
udxx48AqQiyKHT70z9EregICJHDRrMqv2z/cZl2VpRn1v4LlLtUGQ3+PZf+KBy/u54X0
uG+iN+ppT9rb4Sr6bmsTINFJ8TaVwRfi5H2s6y8ThjlkeWx1kClUYCaPrd5rS/puWk6r
iDyjjv4KWYE1IdrX0Vl+j/WHP76l2umuN6QsA6r4m+aZ9wXQ/LevaDIh1dNQHcUJlMK2
ILjBI+8RJzDpy9Sj6MJUZQwFyURBWH2Vag+9yOgd5vMsXvGT82JCMrU/dy33Ii7Smmk1
9IkA==
X-Gm-Message-State: AOAM532ujUtlcKzD/tZlXm2Lbst9yg8ixlSkHPpN/ectBkCX/X8/tJEb
h6xkds7kF4Cx4OLggUI9QTjsOlvBCsAeklvnXlY=
X-Google-Smtp-Source: ABdhPJxaJ2k2zabWiTQwNUAXB9MUKBuMdG7G9Nlm0plHLyVLDTFaWJ8eauLOQhDO0MKv0SLOBi/nsWprU/vNVighKUo=
X-Received: by 2002:a05:6870:f5a5:b0:f2:d204:cc3c with SMTP id
eh37-20020a056870f5a500b000f2d204cc3cmr16669592oab.35.1654076202100; Wed, 01
Jun 2022 02:36:42 -0700 (PDT)
MIME-Version: 1.0
References: <165404869855.21942.14779642481390967131-0@git.sr.ht>
<CAFVMu-qEJGEUdQSpzYegi+3Z8c1iEDagdd8a1Jv2JP-6+pBy8Q@mail.gmail.com> <CAFuCWxsW2e8jXJsynoBw1TCts2UTrPjbRwEFyF6-bec_6ErsZw@mail.gmail.com>
In-Reply-To: <CAFuCWxsW2e8jXJsynoBw1TCts2UTrPjbRwEFyF6-bec_6ErsZw@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Wed, 1 Jun 2022 12:36:30 +0300
Message-ID: <CAFVMu-ryTs9=nO8-F2y88FPgr-TcrfCnKa-=tBC6A4ryc1TuMg@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc 0/2] Ignore undefined symbols when building
dynamic libraries on darwin
To: Jeremy Volkman <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
On Wed, Jun 1, 2022 at 12:30 PM Jeremy Volkman <jeremy@jvolkman.com> wrote:
>
> Hi Motiejus,
>
> Thanks for accepting. I'm not sure if you saw, but I had submitted this patch a week ago (broken) with more discussion and links in the overview. I forgot to increment the version number, so it wasn't obvious.
I had a vague memory of looking into this, but wasn't sure where.
Turns out that wasn't that long ago. :)
Anyhow, reason I am asking this: I try to apply patches as-is, so all
re-posts should be self-contained, as if earlier of them didn't
happen, because they are not going to the git history. Let's err on
the side of more verbosity than less, always.
Thanks,
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jvolkman-com.20210112.gappssmtp.com header.i=@jvolkman-com.20210112.gappssmtp.com
Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42])
by mail-b.sr.ht (Postfix) with ESMTPS id 9F77E11EEB5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 1 Jun 2022 09:43:03 +0000 (UTC)
Received: by mail-lf1-f42.google.com with SMTP id a15so1774509lfb.9
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 01 Jun 2022 02:43:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jvolkman-com.20210112.gappssmtp.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=jdqcTS1RkXNMnxW573lfZaSsgJzDVJarhUtgCPUUgtU=;
b=1cw3UKYJcVvPojTkZrC2bXXd/z8fMimLqhsBMboKks8PwK9utzO9ZF9qL9lFV6clki
hemPorZ34+gZkC16P/5jvyzz08Lb4r57sIUZi0+PQIe/QUW6zlZdNn06DfxTHXFAjPwd
XmByJIYrupVXYSOIVG/yHzEVT5RtHfnwb4H/MFI3SxG/IycIQVAOI7R1fPxMqZf/ly7n
oEPqTxygY+bLJcw2isa8KKS/ph4s03e+aKAD1mgF1nwL1wgoV9qtVuQf1GH3ADDYUkxi
EuUSDgS8RD+CMKIgkOR86R7z20dLI7SRvvrGRGjld+JO0R6i3VxcCgvm18nlekQGth2g
shpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=jdqcTS1RkXNMnxW573lfZaSsgJzDVJarhUtgCPUUgtU=;
b=M4OVYloWiHGECdWwS+ysUFlFsh57/m19UyA3yskiph1re5fvg41UOEKCrFH/NDISF3
ob2OKtOR1kPGkWk2DolqXxlF3g+G08WDSLrrpACDXJpUmBnP1uEawTyKmdzuV3XMR9CU
wYAYNW5BJ0VBJd3elo/QSO92HpDFI04bd/58Vx2jA2+245JyFkfNfANVGjCmBdaJGIHL
6vkdB4/Gk3Tu/A+nf6Mu22Qj2B1LigPUP1prF/jqGJhPU3W4v1JlClSSRqH57hbiQaEC
SG5AW/Bt1VJvK+7CgMKN5KosJkLEcmNXJfJDzBnQYFfPq06ec/S7GfK6Rj428S7QAlpH
6y5Q==
X-Gm-Message-State: AOAM530RYpn7WE4xz42UF93QnwcoTjqjnSWvkCD4R8rzK9SX4eTtPo7x
PizHHhctVT/oy6ei5TWNXjpJiA90LWeBuZlnvDg=
X-Google-Smtp-Source: ABdhPJwYBILZz8BX8EoH2+RUt58i+KMsSlH4tD1Gn2GDMfE9Gm0tTOVWIKv8iMtjl6LaEd6+nE5ZPwGrIquw4i5kSLo=
X-Received: by 2002:a05:6512:ea9:b0:478:7f6b:5289 with SMTP id
bi41-20020a0565120ea900b004787f6b5289mr32132756lfb.87.1654076582449; Wed, 01
Jun 2022 02:43:02 -0700 (PDT)
MIME-Version: 1.0
References: <165404869855.21942.14779642481390967131-0@git.sr.ht>
<CAFVMu-qEJGEUdQSpzYegi+3Z8c1iEDagdd8a1Jv2JP-6+pBy8Q@mail.gmail.com>
<CAFuCWxsW2e8jXJsynoBw1TCts2UTrPjbRwEFyF6-bec_6ErsZw@mail.gmail.com> <CAFVMu-ryTs9=nO8-F2y88FPgr-TcrfCnKa-=tBC6A4ryc1TuMg@mail.gmail.com>
In-Reply-To: <CAFVMu-ryTs9=nO8-F2y88FPgr-TcrfCnKa-=tBC6A4ryc1TuMg@mail.gmail.com>
From: Jeremy Volkman <jeremy@jvolkman.com>
Date: Wed, 1 Jun 2022 02:42:53 -0700
Message-ID: <CAFuCWxtUpyZ2CETxdYct7J8sNOz2zknE2Ox4Z60qtQap8RrvQA@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc 0/2] Ignore undefined symbols when building
dynamic libraries on darwin
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Sounds good. Thanks!
-Jeremy
On Wed, Jun 1, 2022 at 2:36 AM Motiejus Jak=C5=A1tys <motiejus@jakstys.lt> =
wrote:
>
> On Wed, Jun 1, 2022 at 12:30 PM Jeremy Volkman <jeremy@jvolkman.com> wrot=
e:
> >
> > Hi Motiejus,
> >
> > Thanks for accepting. I'm not sure if you saw, but I had submitted this=
patch a week ago (broken) with more discussion and links in the overview. =
I forgot to increment the version number, so it wasn't obvious.
>
> I had a vague memory of looking into this, but wasn't sure where.
> Turns out that wasn't that long ago. :)
>
> Anyhow, reason I am asking this: I try to apply patches as-is, so all
> re-posts should be self-contained, as if earlier of them didn't
> happen, because they are not going to the git history. Let's err on
> the side of more verbosity than less, always.
>
> Thanks,
> Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 39D5A11EEB5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 1 Jun 2022 17:05:51 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1654103143;
bh=PFSoKnkCTJrJ+Uml/M6x2RBPoR4+Cz2ljB8Iw2xINIE=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=nyP3Lv/Wv0F332eCz/w5rKbqCvYynxnH9j3+TiPdIhh1gINl+UtA3v0H2FbeWWLFm
op3YjCfxg6FIQnxioFNltyJON24srPQU0/JrBPMZ64KsBQMqqdkDOROKRn+FdmIzrU
4jDaLld/9xe3Ym/vJIMskxLDZ/zS223Z+K3LvnRw=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8;
format=flowed
Content-Transfer-Encoding: 8bit
Date: Wed, 01 Jun 2022 18:05:37 +0100
From: fabian@hahn.graphics
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc v2 0/3] Windows support
In-Reply-To: <CAFVMu-ps+Pt5DqSnUZ323sDcQB-MmjBg01nMfHK+kxtgr0Ew_g@mail.gmail.com>
References: <20220529163518.182119-1-fabian@hahn.graphics>
<CAFVMu-ps+Pt5DqSnUZ323sDcQB-MmjBg01nMfHK+kxtgr0Ew_g@mail.gmail.com>
Message-ID: <faee59d97f64ea7c368c583efe84db88@hahn.graphics>
X-Sender: fabian@hahn.graphics
Hey Motiejus,
On 2022-05-30 13:37, Motiejus Jakštys wrote:
> As you may have noticed, the past patchset doesn't pass CI. If you
> have a Linux machine, the tests are quite easy to execute manually[1].
> Otherwise don't worry about sending multiple patch versions; I am
> happy to ignore the patchsets (and the emails from the CI) until the
> tests pass. That's what they are there for!
I've actually been running the tests successfully on my Ubuntu box. I a
bit confused at first looking at the failed build logs [1] until I
I realized what the problem was: Even though I updated .build.yml in my
patch, it actually uses the original baseline file in the repo to run
the CI steps. This means that my addition of the wine-binfmt Debian
package doesn't get picked up, which then causes the bazel test to fail
that tries to run the actual Windows binary as it doesn't know how to
interpret it. I now realized that there's further setup commands in the
"setup" task. I will try to add the package there instead.
> You can also use a transient docker environment[2] to isolate yourself
> from the host OS. Let me know if that works for you.
I just tried this and my tests passed, but only after I manually ran
`update-binfmts --enable wine` inside the container. I'm a bit confused
because this wasn't needed for qemu arm64 emulation, but maybe that's a
wine-binfmt specific thing? Anyway, I will try to go with the setup
step approach and add that extra command there too if needed.
Best,
Fabian
[1] https://builds.sr.ht/~motiejus/job/769696
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181])
by mail-b.sr.ht (Postfix) with ESMTPS id D313011EF41
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 2 Jun 2022 03:06:59 +0000 (UTC)
Received: by mail-oi1-f181.google.com with SMTP id r206so5060045oib.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 01 Jun 2022 20:06:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=rH/W4qS90Y/n0ND+RMRLeQWCKOp+ZcH5sX00mIWggjk=;
b=OxR/a19tDTaf7aF/K/PjfryRRICLvyw1sfNnHAD+MGk5JWWgb697MMjts6hkHetnDy
ocTVm1lziC8tZuEPLYLE/yigckDLwrnIN3Qjtq8yyLxfrB2TSkGICHPMGPjKaNqUADUf
ujZcZKpoIV9kARt771OGjHYt9c+c7cutC2PPkz/qqqInyJR3M3Pf4DSvT1kzA9h0KKSR
qMBZ7vDrKQQSL0AyiMxw1Af+1w+KinV/FMxzr/G42MkYdmgLuGDd2dTpZW2ZOCZ+A40v
sWTvC97cjehkejVTPs1/4u86PNg1JlUv6RrM+ldA4BG3cbHfMIKDnttv0Te3WgnB1pSC
ORDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=rH/W4qS90Y/n0ND+RMRLeQWCKOp+ZcH5sX00mIWggjk=;
b=Ky9B1hsuzkUfrOpHX4/vIv0hPlGTor0KjBmkKWQ42NOahTfmecpb8IssQiq12jSL9o
3VyPsazmR9R9MOyuFiqE7j+YC4S5PaqA41YYtochyeJR21IA32ipRAMaGeGDPzAkKjq7
TDNOmJ+sFJ1mwmQ1gzxzpQhvtlOt3pca/KCAZFMvMu9QU4cImsb+qyA0AcnAzlGfS68U
itzTtGoxcWAUm3VtsCwoAJ+Ui2M2cFgAK24Ao3RJnz6Ce0ibiXnpsGfrbp76l/AHRd8I
s3ENcxo+azUcl6CiX9JeirQnwf50yMiFjwbec/DM3yFCatS9s9vxQ49ucSjmBfQbCkz+
t3Xg==
X-Gm-Message-State: AOAM532y29DkcFli66S8/m29x2czbAGUiMcgLqJdt7TZqyQL06U5qRhV
KTCCs/tqjbtDTJFfFcilmCMZRjXEfaOsqk3SusEnqJvX2/4=
X-Google-Smtp-Source: ABdhPJxlTNRJzquwFI8gXQAHB3spJJwoBSiQbJRwYhbYPKq1oC7kFefBP1j4kjRQktXMsTuZoyYRTaa6KfxjGOcicjU=
X-Received: by 2002:a05:6808:171c:b0:2f9:c685:f4d9 with SMTP id
bc28-20020a056808171c00b002f9c685f4d9mr1518581oib.21.1654139217564; Wed, 01
Jun 2022 20:06:57 -0700 (PDT)
MIME-Version: 1.0
References: <20220529163518.182119-1-fabian@hahn.graphics> <CAFVMu-ps+Pt5DqSnUZ323sDcQB-MmjBg01nMfHK+kxtgr0Ew_g@mail.gmail.com>
<faee59d97f64ea7c368c583efe84db88@hahn.graphics>
In-Reply-To: <faee59d97f64ea7c368c583efe84db88@hahn.graphics>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Thu, 2 Jun 2022 06:06:46 +0300
Message-ID: <CAFVMu-pihCk8dj_MRrhqGhhoaAy1rOL7rx+pgMkEZFcOvVeWfw@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc v2 0/3] Windows support
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Wed, Jun 01, 2022 at 06:05:37PM +0100, fabian@hahn.graphics wrote:
> Hey Motiejus,
>
> On 2022-05-30 13:37, Motiejus Jak=C5=A1tys wrote:
> > As you may have noticed, the past patchset doesn't pass CI. If you
> > have a Linux machine, the tests are quite easy to execute manually[1].
> > Otherwise don't worry about sending multiple patch versions; I am
> > happy to ignore the patchsets (and the emails from the CI) until the
> > tests pass. That's what they are there for!
>
> I've actually been running the tests successfully on my Ubuntu box. I a
> bit confused at first looking at the failed build logs [1] until I
> I realized what the problem was: Even though I updated .build.yml in my
> patch, it actually uses the original baseline file in the repo to run
> the CI steps. This means that my addition of the wine-binfmt Debian
> package doesn't get picked up, which then causes the bazel test to fail
> that tries to run the actual Windows binary as it doesn't know how to
> interpret it. I now realized that there's further setup commands in the
> "setup" task. I will try to add the package there instead.
>
> > You can also use a transient docker environment[2] to isolate yourself
> > from the host OS. Let me know if that works for you.
>
> I just tried this and my tests passed, but only after I manually ran
> `update-binfmts --enable wine` inside the container. I'm a bit confused
> because this wasn't needed for qemu arm64 emulation, but maybe that's a
> wine-binfmt specific thing? Anyway, I will try to go with the setup
> step approach and add that extra command there too if needed.
That's fine. I pushed it to a branch, which kicked off CI[1]. That
passed.
I will review your patch in a short order. Sorry for the confusion and
thank you for clarifying.
Motiejus
[1]: https://builds.sr.ht/~motiejus/job/772421
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oi1-f169.google.com (mail-oi1-f169.google.com [209.85.167.169])
by mail-b.sr.ht (Postfix) with ESMTPS id AA2D711EF01
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 6 Jun 2022 07:37:53 +0000 (UTC)
Received: by mail-oi1-f169.google.com with SMTP id s8so13381534oib.6
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 06 Jun 2022 00:37:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=d4gxM3P1SLz8KRgDn8hT4qEJRFlUsvvp87V+mZKND4Q=;
b=P97jhLDV+lJEbf21ZQlI0cjHw+GsrGzOwgshV66pp5d4kDbnk0iG9DMoZhZC+mEZqU
puOBkT+13SKxSAN8zfTmJ1jsHZtP5p+7fgQf6Rdy0Nc+/Jx8te+Lj3dSAQlj5Yz6ZKvj
Qx3H5TzLkOWPNCKmnlTNgLEwaUq3A9oUD049CO7q5Tc1H3cz6qBVfRG9KlnbP955ndX4
4bKYN+gOFGWock3oFihNxv0Kwwdp7rlyohAqi18UkPxLlhypyCFBqEWU9UpEUxBdsffq
AB+pC8V9dpu3Wl/zeuzYTw0tQO22Y9TeC0lQC9xOF2CDdhreIICUX8muLlbcd8WE0cUI
l8Bw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=d4gxM3P1SLz8KRgDn8hT4qEJRFlUsvvp87V+mZKND4Q=;
b=OXzVoUNayUuWflUanRpVWFcv0n+5ZVH6eX8QsGDbx9k4V61gbRni6A0si7HnUTn8Hc
OwvrV0NBz/tjSVds22utqnkjfa3V3RbgM8CNRPuZvxB3cLHdBTZS5F0xlpwc9jCOH4h6
iE7yRz+9Brjb0mJOmFmUswJ45LtjaXNzGWk4iueBgCYQb5xTOKhjtxSp5ggybTGngEb5
dR3od/hbfPppCqXv3sBZ4JxUEDGP62pXolR7EEd5EM+byIGGaMCnNwV2gG2t8fKaGqnB
H3yMIemS2c3+qVJkROSLelw+5T9tqbJ+57rCwcnz90Q7zIPb3UFvWoqi5AS0stqBpuL2
QKdg==
X-Gm-Message-State: AOAM5307Vw4PGjEX+NWZEUZcRw8lhJcHmm07q4EECp5dChCzMMxie9AW
ZpZ1UPsWDHQlU1Dt7d+VWCvh+NbMx0ZbdePdleI=
X-Google-Smtp-Source: ABdhPJxJUfyRqukOO/ClY7IxiZ+Sl4Vesg9mtbgob2hZjv4kE9uMuYWMT1ExykMoKokjgakj36sLf5jnCv136p2V4aU=
X-Received: by 2002:a05:6808:308e:b0:32b:20ef:15ff with SMTP id
bl14-20020a056808308e00b0032b20ef15ffmr29064055oib.216.1654501068924; Mon, 06
Jun 2022 00:37:48 -0700 (PDT)
MIME-Version: 1.0
References: <20220529163518.182119-1-fabian@hahn.graphics> <CAFVMu-ps+Pt5DqSnUZ323sDcQB-MmjBg01nMfHK+kxtgr0Ew_g@mail.gmail.com>
<faee59d97f64ea7c368c583efe84db88@hahn.graphics> <CAFVMu-pihCk8dj_MRrhqGhhoaAy1rOL7rx+pgMkEZFcOvVeWfw@mail.gmail.com>
In-Reply-To: <CAFVMu-pihCk8dj_MRrhqGhhoaAy1rOL7rx+pgMkEZFcOvVeWfw@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Mon, 6 Jun 2022 10:37:37 +0300
Message-ID: <CAFVMu-o4DSj9H1qfJ8oBHGu6CXGszY79eERJRx6EXWeXPgtjKA@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc v2 0/3] Windows support
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Thu, Jun 2, 2022 at 6:06 AM Motiejus Jak=C5=A1tys <motiejus@jakstys.lt> =
wrote:
> I will review your patch in a short order. Sorry for the confusion and
> thank you for clarifying.
>
Hi Fabian,
I spent a couple of hours on this and published it to
motiejus_windows[1] branch. Notable changes:
- added test wrappers, so we no longer depend on wine-binfmt. Bazel
does something unusual with sandboxing, so we still need this for
linux-arm64.
- side effect: `bazel test ...` remains the only command to run all
tests by a mixture of "manual" and "no-sandbox" tags on some targets.
- fixed linux-arm64.gnu tests. Until the changes those failed on all
computers I've tried except CI. Now they work everywhere I've tried,
assuming dependencies are installed.
- trivial: renamed ext to _ext to convey "it's private", also updated
release scripts.
Please review my changes on top of yours in the branch[1] and let me
know if I didn't mess up anything. Then I can release v0.8.0.
As usual, thanks to Laurynas for tips.
Motiejus
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/motiejus_windows
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 95D5511EF1B
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 8 Jun 2022 17:03:17 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1654707791;
bh=QLwRLhATaszHxFkSirsxI2L9B+cmVXrYQumrVloMFZw=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=Jgj2/yhCtCsjjipoBAOB7wnZEeMn31FlMJH+akwWnl2aVQlDSCEF2Whzg+BoIeV00
2hjLJAL//x7LyxTxTEqgwFLhgCud9KMe53gi1LBWBRsAjHiUx0kMnUvNwCef2RipEt
R1XKv/g420hJcvNLtxzTIJglwADyaSn8uqG5wQ68=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8;
format=flowed
Content-Transfer-Encoding: 8bit
Date: Wed, 08 Jun 2022 18:03:05 +0100
From: fabian@hahn.graphics
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc v2 0/3] Windows support
In-Reply-To: <CAFVMu-o4DSj9H1qfJ8oBHGu6CXGszY79eERJRx6EXWeXPgtjKA@mail.gmail.com>
References: <20220529163518.182119-1-fabian@hahn.graphics>
<CAFVMu-ps+Pt5DqSnUZ323sDcQB-MmjBg01nMfHK+kxtgr0Ew_g@mail.gmail.com>
<faee59d97f64ea7c368c583efe84db88@hahn.graphics>
<CAFVMu-pihCk8dj_MRrhqGhhoaAy1rOL7rx+pgMkEZFcOvVeWfw@mail.gmail.com>
<CAFVMu-o4DSj9H1qfJ8oBHGu6CXGszY79eERJRx6EXWeXPgtjKA@mail.gmail.com>
Message-ID: <970d81eedf2eeed648ec06200b3d6567@hahn.graphics>
X-Sender: fabian@hahn.graphics
Hey Motiejus,
Thanks a lot for looking at my patches and adjusting them further.
On 2022-06-06 08:37, Motiejus Jakštys wrote:
> - added test wrappers, so we no longer depend on wine-binfmt. Bazel
> does something unusual with sandboxing, so we still need this for
> linux-arm64.
I don't particularly mind, the run_under approach also looks fine to
me.
> - side effect: `bazel test ...` remains the only command to run all
> tests by a mixture of "manual" and "no-sandbox" tags on some targets.
I didn't know about the no-sandbox tag in bazel, so that's a great
solution to make it work under `bazel test ...`!
> - fixed linux-arm64.gnu tests. Until the changes those failed on all
> computers I've tried except CI. Now they work everywhere I've tried,
> assuming dependencies are installed.
Right, I actually ended up passing QEMU_LD_PREFIX in --action_env and
thought I had somehow messed up my qemu setup. Good to see this fixed!
> Please review my changes on top of yours in the branch[1] and let me
> know if I didn't mess up anything. Then I can release v0.8.0.
The only thing I noticed is that since we no longer explicitly run
bazel build in ci/test, we won't build the windows_arm64 test binary
anymore. As far as I know bazel test ... won't build targets that are
not required for running any tests, so unless we also put a command
for bael build ... somewhere it won't be covered. This is a very
minor point though, so feel free to ignore.
I did run your branch against my project both on Linux and Windows
machines and everything worked flawlessly. So from my point of view
this is good to go.
Best,
Fabian
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.53])
by mail-b.sr.ht (Postfix) with ESMTPS id 13D1B11EFD1
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 8 Jun 2022 19:51:20 +0000 (UTC)
Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-f16a3e0529so28589001fac.2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 08 Jun 2022 12:51:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=CyqV+jkwMpm1LVOKc2MR4DBlPFo+Irj/WjUTMMyfSsc=;
b=PKpEpBKgk4akqzBK5fi/2KrXiQMUPZfFkUFEH0ItkuxePgh5urD1sPdGf4iSdyGmcu
Rw9RkKZ+pao0N4LasCwHUkFbv38tTlc0vqd9LbsAdgbdgApzBtLCaw7reHlPPZUdmt8o
+c4smH4wcM2QZLBm2h6v/sglOqdh9uIdU75o/XAROhYNwwx6+7/1Z/qg/mqu/qnIlYKL
XOynzSutYAmBIVf8gZUQ+5o4dPNfRmiX7EuSzXN3bVKa/qSf2cNPcon8YcW6Jcjwyoh7
u5mUOGec1i2dVAvqoRLFBwnasrNKDHCLCfakTiEqvlZcm1/RJL+Mnmhm95tacHtugXwI
jOPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=CyqV+jkwMpm1LVOKc2MR4DBlPFo+Irj/WjUTMMyfSsc=;
b=SUmOgiyDkkeJYhFYnUGh5rvwoiF591Av6qbSjQhMZhOaefKW6OsMfoH6KdrYbZSHTV
KsmR0J1N800vigpOBCpV4P6OxRfhDH/NwrIr8NeXJQ/zlJX2E2eWZxXuVa6CNxRIs5Ig
HBA3WqkO+cVJIlr6ChGzJYp9c4BZeD/AEu+NLKdu0K1mRY83EHF6X/6dCjVDMLbl7SEM
lxA3SEbojMbi59XqxQMdJhWirZXei+Wq/cgpqVIduBN+UgKvC8V9wG4xYZ6SnNot14Gx
1C9sQz+8PrnwX5XFXwGYq1fc16NelC+/YvewUAnezpr2A1or1vkJOb7afz2ytIFtMZRK
tCmg==
X-Gm-Message-State: AOAM531rbur7S3ArQn0211VcAzcEhWmjfuaSc0QfLSI7yqAwx7OqgRnb
9sNDPBLisZ0kCmKg9pwzxnRVQ+WZBJPivBG/jlFhAJ5JRms=
X-Google-Smtp-Source: ABdhPJxnUyXrCT+vqt8X2rUgGvEIDitKlm2cRt9e19g8mkvoVYKBGdu92PN7dqxcCqGPPsjGy0MM4h8kvOy2NOk0WkU=
X-Received: by 2002:a05:6870:f683:b0:f2:cc34:452a with SMTP id
el3-20020a056870f68300b000f2cc34452amr3424593oab.216.1654717879299; Wed, 08
Jun 2022 12:51:19 -0700 (PDT)
MIME-Version: 1.0
References: <20220529163518.182119-1-fabian@hahn.graphics> <CAFVMu-ps+Pt5DqSnUZ323sDcQB-MmjBg01nMfHK+kxtgr0Ew_g@mail.gmail.com>
<faee59d97f64ea7c368c583efe84db88@hahn.graphics> <CAFVMu-pihCk8dj_MRrhqGhhoaAy1rOL7rx+pgMkEZFcOvVeWfw@mail.gmail.com>
<CAFVMu-o4DSj9H1qfJ8oBHGu6CXGszY79eERJRx6EXWeXPgtjKA@mail.gmail.com> <970d81eedf2eeed648ec06200b3d6567@hahn.graphics>
In-Reply-To: <970d81eedf2eeed648ec06200b3d6567@hahn.graphics>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Wed, 8 Jun 2022 22:51:08 +0300
Message-ID: <CAFVMu-p=dPLrsCbMnR26MHj22rTk3LhE09_Ps2=cB_0sOZjPCA@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc v2 0/3] Windows support
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Wed, Jun 8, 2022 at 8:03 PM <fabian@hahn.graphics> wrote:
>
> On 2022-06-06 08:37, Motiejus Jak=C5=A1tys wrote:
>
> The only thing I noticed is that since we no longer explicitly run
> bazel build in ci/test, we won't build the windows_arm64 test binary
> anymore. As far as I know bazel test ... won't build targets that are
> not required for running any tests, so unless we also put a command
> for bael build ... somewhere it won't be covered. This is a very
> minor point though, so feel free to ignore.
Not in my experience: if an executable label doesn't have a "manual"
tag, it will be built.
Let's run a na=C3=AEve test. Apply this patch to the branch:
diff --git a/test/windows/main.c b/test/windows/main.c
index b5302af..5f94789 100644
--- a/test/windows/main.c
+++ b/test/windows/main.c
@@ -1,6 +1,10 @@
#include <stdio.h>
#include <windows.h>
+#ifdef _M_ARM64
+error
+#endif
+
int main() {
DWORD version =3D GetVersion();
DWORD majorVersion =3D (DWORD)(LOBYTE(LOWORD(version)));
And then run the following:
1) bazel test //test/windows:winver_windows_amd64 # OK
2) bazel build //test/windows:winver_windows_arm64 # FAIL
3) bazel test ... # FAIL, the same way as above
According to your earlier description, only (2) should fail. But 3
fails too. I will not paste the full error message here, but suffice
to say, it is what I expect it to be.
> I did run your branch against my project both on Linux and Windows
> machines and everything worked flawlessly. So from my point of view
> this is good to go.
Will merge. Thank you for your contribution!
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-oa1-f46.google.com (mail-oa1-f46.google.com [209.85.160.46])
by mail-b.sr.ht (Postfix) with ESMTPS id BAC0E11EFD1
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 8 Jun 2022 20:09:46 +0000 (UTC)
Received: by mail-oa1-f46.google.com with SMTP id 586e51a60fabf-f2e0a41009so28622727fac.6
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 08 Jun 2022 13:09:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=mime-version:from:date:message-id:subject:to;
bh=39IC4EEdp6/ovd/eC9dHVL9//xW+pN9rq6f3dEDXLHA=;
b=cCENizUIUNvRsvbyfqWBv/N8LKExM+K1WE9dqrMWM2UxwJvbxNO37q2y9XsmDd5HfF
YZjTpqtPqYyHAsCCIF/Y01JoaKq8bnY3NaORxO/x94UgX0jsO/j2Mt25ykCkEVtzJX2r
MTldz0N903xF1z5evCrYQi2U7EtBHTuo2c6KjgGSEVm0oDxFsv6r83g4U2eYx/LeWcj0
9FJOiubhLfXjuZ4tFqXUZ5x0B3NWz0mlRo0V1klmIDEZh/rPvv3iGOjrd6q6Mbcopq24
vboOB3OwHigvJi75c9q3z5vb79TX/Psb+OdxbC7NQpaTJ6NyOynYUqyV5hn6L1buEInP
VZ8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
bh=39IC4EEdp6/ovd/eC9dHVL9//xW+pN9rq6f3dEDXLHA=;
b=gZGCjpV34JG/+KG0yLBqpAFLlS5z9dYv7IAcUbGETwjXcyM2R33OHjSwkUuG4WEmOP
0WN9/pVem5HMMLq4sNJn+9oTW4BclDcGKvPIY7LoZYctWoeP/ncPmsOxDHNP8ZpXjplk
1BpTX7gd58Y40q4xBKpsvzRcRQ9V5oTbAwx06rBXffUuqVVnbUY6uKWMx6LUX76X22a0
v13KFpvzxAU0nk3UJrcheW6Z4JACMF9AjokAHPEQhXgndj0LNCyqU28e6bIXHBNHHBCc
3ZAzceDspBAI0XX3EMg56bTXvVKk/8zzWnhPufzG1mH3wODC6vnmXTpl3j1ZCHqLQSyt
BFjA==
X-Gm-Message-State: AOAM531d3U/8aTuWoeGBuu+o2I8YHR4QUnG4BffRhf31lMzabef+xM2L
3iI95pRQbsVaMxu7sv0hC1/utm+I30uit6vQteKYMbn7yTU=
X-Google-Smtp-Source: ABdhPJz//vRXmZdtunfSfsETBthZC+rk966TxbKFBswzCoeInJ9b0dZQjf8RofBIIsVWd39AuRyoH9eEkPehGdUWuB0=
X-Received: by 2002:a05:6870:899d:b0:f2:6a4a:ae03 with SMTP id
f29-20020a056870899d00b000f26a4aae03mr3270667oaq.116.1654718985982; Wed, 08
Jun 2022 13:09:45 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus.jakstys@gmail.com>
Date: Wed, 8 Jun 2022 23:09:34 +0300
Message-ID: <CAFVMu-qLZP04KxO7iRsPd9TW5i0dgbB+kFM-YLjHgP+ZhgZL9Q@mail.gmail.com>
Subject: bazel-zig-cc v0.8.0
To: ~motiejus/bazel-zig-cc@lists.sr.ht, Fabian Hahn <fabian@hahn.graphics>,
"~laurynasl" <laurynasl@uber.com>
Content-Type: text/plain; charset="UTF-8"
Hi all,
bazel-zig-cc v0.8.0 is released. It adds windows (host and target)
support and cleans up multiarch tests. All tests work on all machines
I've tried, when previously it was CI-only.
# Incompatible changes
With `zig_toolchains` you add to your workspace: the "urls" parameter
now needs "{_ext}" instead of "tar.xz". As usual, see USAGE[1] for an
example.
# Thanks
Kudos to Fabian Hahn for contributing Windows support!
The test organization was mostly guided by Laurynas. He mostly talked,
I mostly wrote the code. As usual with every recent release, thank
you, Laurynai!
Motiejus
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc#usage
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 0BEFA11EFF7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 9 Jun 2022 10:29:05 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1654770537;
bh=vmO9LC/tPaycUZY9fry2u9+5xWLd7xa7YCiJanGjoEU=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=X2Qk/VjYCUSEdlMTS5L8YKwi1vEgCRkfR7JQugcvXRSkU2XY67Htnov3IxMOFwBEv
xk+tk2X8ZyJzcG/ARgdCtvdbZFlo1P6NDCJlfgFD9Lzzfrt+82wEEGeCwdT64uv9Py
zPVlQ75NnGUPwCgrCO3aPqbtuZESpDTdbjVRQg+Q=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8;
format=flowed
Content-Transfer-Encoding: 8bit
Date: Thu, 09 Jun 2022 11:28:57 +0100
From: fabian@hahn.graphics
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc v2 0/3] Windows support
In-Reply-To: <CAFVMu-p=dPLrsCbMnR26MHj22rTk3LhE09_Ps2=cB_0sOZjPCA@mail.gmail.com>
References: <20220529163518.182119-1-fabian@hahn.graphics>
<CAFVMu-ps+Pt5DqSnUZ323sDcQB-MmjBg01nMfHK+kxtgr0Ew_g@mail.gmail.com>
<faee59d97f64ea7c368c583efe84db88@hahn.graphics>
<CAFVMu-pihCk8dj_MRrhqGhhoaAy1rOL7rx+pgMkEZFcOvVeWfw@mail.gmail.com>
<CAFVMu-o4DSj9H1qfJ8oBHGu6CXGszY79eERJRx6EXWeXPgtjKA@mail.gmail.com>
<970d81eedf2eeed648ec06200b3d6567@hahn.graphics>
<CAFVMu-p=dPLrsCbMnR26MHj22rTk3LhE09_Ps2=cB_0sOZjPCA@mail.gmail.com>
Message-ID: <7b547394decea1653bb5b9b49cfcd3b8@hahn.graphics>
X-Sender: fabian@hahn.graphics
Hi Motiejus,
On 2022-06-08 20:51, Motiejus Jakštys wrote:
> According to your earlier description, only (2) should fail. But 3
> fails too. I will not paste the full error message here, but suffice
> to say, it is what I expect it to be.
Wow, you're right. I've been using bazel for over 5 years now and
never realized this. Thanks for the clarification, and thank you for
merging my patches and the release!
Best,
Fabian
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f42.google.com (mail-oa1-f42.google.com [209.85.160.42])
by mail-b.sr.ht (Postfix) with ESMTPS id 1AB2111EFF7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 9 Jun 2022 11:49:05 +0000 (UTC)
Received: by mail-oa1-f42.google.com with SMTP id 586e51a60fabf-fe15832ce5so4947938fac.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 09 Jun 2022 04:49:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc;
bh=88tl/iweb9vF2YBybDj+l6P5IpoSSf8ehlOB0sCBzZ0=;
b=jmlP46DdFlDMRaZr+nZG6tRb4kp2rTKd6rmvuqy+556oP0oePKfDmp4oPLB0SIvBXq
/MmBnDzAwoz/qFmdS4nwEw9iJt5h07ZBZvdrMFg/eC3jh2esGZYZGqSs/eWFaX9sDMLX
gLQ4mROPVH1ZSqucgVcHgTHgamU+STYfu3q4waNaiiIlOwpXOqSponpXkubkxmYf89gY
aDk29CFgc9PpSsjKh1+OYf17qFpw7eAYIDMt/Byztg9wIPnEowRj3D/+eLEIWNZXPVbF
S4PXlqIV+T9UFwVx3AcJeYVRF/YEWrnnfu4J3AQEfwNb6IyTm2noKg16qj0NoleMyVZ0
s/QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=88tl/iweb9vF2YBybDj+l6P5IpoSSf8ehlOB0sCBzZ0=;
b=JDGgKVhN1JvBiXbjiL12vwsaG+q9dxbLln2TAqE/Q0Gf8OYeBuNdVI9OA8JHI+t/qL
N3NfE0Sqgqp21fZhy0oPSjXIW5HNRQxF+AbYXtyrH6upSokGFZLbzR7HYGJAYmYKsV30
pdMohnXUabe1+NVLKy2CGbSlgzPrV7htaUpsJ3ZtDhbf8I6DYmFIqdlhr8MGkndamCBB
iWl6beMwMRPIwqD4+QkaoyorSbciwDVtS5iRfxjqRvR1iHDGXxB2fbhf/VtfqYWmDbrd
o9bNeWg+G7w0jsIEW7IratrRJiuNSKKmbwBimsKQs5rMgCLJs033ZtQwYrNg7/y4EC94
tIJA==
X-Gm-Message-State: AOAM530qCqQ/lnXZ+T4oIsHhvjgQDm8UEFfzxNnUp0dFlgNlf95AwOY6
h/Vm36PZt19qRMYqk1G/6mxb+8uFt/gcZMEMvVQ=
X-Google-Smtp-Source: ABdhPJyUu4VrlzMEUfNLYZb+eyvSQKXTzmxxK3KzNYaA6Cj4gOsHH9xN9IM8uP1+LJwfj1uCwqdjPDmc/6F841+I9xY=
X-Received: by 2002:a05:6870:f683:b0:f2:cc34:452a with SMTP id
el3-20020a056870f68300b000f2cc34452amr1486853oab.216.1654775344362; Thu, 09
Jun 2022 04:49:04 -0700 (PDT)
MIME-Version: 1.0
References: <20220529163518.182119-1-fabian@hahn.graphics> <CAFVMu-ps+Pt5DqSnUZ323sDcQB-MmjBg01nMfHK+kxtgr0Ew_g@mail.gmail.com>
<faee59d97f64ea7c368c583efe84db88@hahn.graphics> <CAFVMu-pihCk8dj_MRrhqGhhoaAy1rOL7rx+pgMkEZFcOvVeWfw@mail.gmail.com>
<CAFVMu-o4DSj9H1qfJ8oBHGu6CXGszY79eERJRx6EXWeXPgtjKA@mail.gmail.com>
<970d81eedf2eeed648ec06200b3d6567@hahn.graphics> <CAFVMu-p=dPLrsCbMnR26MHj22rTk3LhE09_Ps2=cB_0sOZjPCA@mail.gmail.com>
<7b547394decea1653bb5b9b49cfcd3b8@hahn.graphics>
In-Reply-To: <7b547394decea1653bb5b9b49cfcd3b8@hahn.graphics>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Thu, 9 Jun 2022 14:48:53 +0300
Message-ID: <CAFVMu-q9B2OD0+zery+8kytJpo6YTB0t7tOJivATLW4vF2x8JQ@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc v2 0/3] Windows support
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
On Thu, Jun 9, 2022 at 1:29 PM <fabian@hahn.graphics> wrote:
> <...> and thank you for merging my patches and the release!
Hi Fabian,
No problem! Note that your name is featured in the README[1] now.
Please read it and make sure you understand what you have signed up
for. :)
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181])
by mail-b.sr.ht (Postfix) with ESMTPS id 6EACD11EEDB
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 4 Jul 2022 12:45:12 +0000 (UTC)
Received: by mail-oi1-f181.google.com with SMTP id q11so12768339oih.10
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 04 Jul 2022 05:45:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=mime-version:from:date:message-id:subject:to;
bh=coxWmlQNSguWvjtrd+KL+nD1AvM9WoJ3raGAF1TinG8=;
b=R5QaDEumNaSIZKk+lhBC9akv7NshtLYDwi2O8FS3EP5Gbi7F+vWVZI2+/mK99v2UE1
QdZZr+6Uo+SrybyKZrtHgpTrNSwQxFxz7Q/nY7BC+94ohsOzrRQYljENIz4mBbtPSpDx
B/gMlcpsHJH7HOEt6DRTxP7tnl487LKGzwfp1wgilST2p27BaJqoIyMbkbDUAzu785bl
iQ1M1rk4mgxG0Oucbd7Hn/p0bx4JLChS4oswQwTpxMshZzZbSFR4UCTiPbrH2sGiaHII
dV5osp/XbSVR6nJB2WcrBvgaDY1FJkcCawz6jjVfAbMmxxRdfZunQIXuXlJt/kLJcuXF
SKkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
bh=coxWmlQNSguWvjtrd+KL+nD1AvM9WoJ3raGAF1TinG8=;
b=TwyqsgOHKVB2c1slwd4xHXu3/hRdO5ae6XRnLq8dR831vYSvWi+EDrHgEegzrBhRl/
VYfhgL4POIho0nNQ4e7WpiGtdZRqGIK5I/6sziqLCT6ObNQMFQ2kccbnsFLidcQHMsSv
SlLvoI2Y/e+kszsYrQmusNTNUSt4r0bZ3rvGH+aGkeA0Eg/5fRHAwCoZ17INqRumeV88
t3UI+96uKvWOcQePizlTjIZ3O2SVLlEyZ7Z9EPRndZwQ0YL9tlxVdoTzt45gm8keSttb
/GMWI7NDnywTXaYXeAQtOcqsSI5PcJUG/QnqxXkCku7Hlk1K5BM/qq/+VzNlzKj6L/K/
XXLQ==
X-Gm-Message-State: AJIora+fcX9Qc3oLa2DmA9G+ptPFauLnYRcFk+ZGnkm4bcR3v3u7JezZ
6IjwQ3mEY1C3jwLRDcyt7hKVlZkDwvT5hHfJvxJ02xV+w1I=
X-Google-Smtp-Source: AGRyM1u39iRrqkkzeofLBF891K92mA26GQdl/CqMPqkGLnsrgdE2vQiEUat/BVghFfxGU5aNc+AVF3pPVH38mQHW4Xg=
X-Received: by 2002:a05:6808:f03:b0:337:a7d2:4bb6 with SMTP id
m3-20020a0568080f0300b00337a7d24bb6mr6893861oiw.116.1656938710774; Mon, 04
Jul 2022 05:45:10 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus.jakstys@gmail.com>
Date: Mon, 4 Jul 2022 15:45:00 +0300
Message-ID: <CAFVMu-rn=brG=37+bY2Zy6WPKUQYwbk5vz_yYJS6geEJApQ_Xw@mail.gmail.com>
Subject: bazel-zig-cc v0.8.2
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi all,
I released v0.8.3, which adds fastbuild, dbg and opt settings with
defaults suitable for zig-cc:
- zig by default adds `-flto`; fastbuild negates it.
- add -O0, which now zig cc[1] interprets correctly.
- also use today's zig sdk for tests.
This v0.8.3 should have been v0.8.1; please ignore v0.8.1 and v0.8.2,
these are caused by me trying to overly rush things today.
[1]: https://github.com/ziglang/zig/issues/11921
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45])
by mail-b.sr.ht (Postfix) with ESMTPS id CDD8E11EF78
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 12 Jul 2022 07:19:38 +0000 (UTC)
Received: by mail-ot1-f45.google.com with SMTP id e1-20020a05683013c100b0061c1a6b8d11so5564742otq.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 12 Jul 2022 00:19:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=mime-version:from:date:message-id:subject:to;
bh=GTzwRk1VzKiGp9a1uogPz+W/73KM/MT7lPNVKp+RGJs=;
b=T3r3PT6NDyTlGbcv0/XGzLrWrsLNtAp8TWlxQm3Kv4/VB9vW51TUK/PD0u9uASQLH8
mkHulABOeWsVxYblEYziS26jgLPZcMIT9HoIQTZzZepcBQWmJqg18xEDYiu+cHJSfb0x
pOvKoCrsHbB1/Jq131t/vz//7Wf2Ff2aGxFTuHRHbmjX4XmEUhiQabPYBg9gqSV6mwC0
AQoaCmJ9896a3ZYkstrMwT16klr7ScxvnwZEMhzYLCnefzXWcqu0w7zghsXtp21aWmgx
KSxQIAKAP8JvkhpxMR2O3dPgqSjBxYSSA5nHHOHXuPSO4D8eUjsGPaWt7aa0a+xbILGe
nTtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
bh=GTzwRk1VzKiGp9a1uogPz+W/73KM/MT7lPNVKp+RGJs=;
b=0zCGKwp0rs79wOhy6Jr0OwqNZ8or26myERBkkmjHXBGq9UKsaRBLSG+VlbdZPZglMK
k3Nzpec9b6lgYyiYNOTfGL40krgUyqdTSO2rbm9103eiTWRWGvkHvaYILPp+3+xYIjl3
p0CEdlA0DD6QLbaEGED2lMfFUFfI4SOus7EwAQDRBbVlv6eRIwzitIa8tGzycKB6cnwv
krYhqhso9tETIkkDheXPlr09F7fOp9daW5jSMw4xy2ZpsuHRFpwEJeIKX4vZXNDAWz75
0B6Qi1dzLzPtMHig7yn74gS29cJX4/JJ9OCAIk4fsXq1Lu5o4a+7x97t2sUPnQHholCC
fudA==
X-Gm-Message-State: AJIora+40prMpcc8dSICWQ9y6CUvIbcYLLk0Gpzmu8t+klu3EU2bvxwL
wX473DEyGArAZvPewH1QPUINRdISo7mQTI3QI5KAaXBPlzQ=
X-Google-Smtp-Source: AGRyM1v2FLfJg8ErnpzxfDyxBaiYMw5gqAZyYga02Z+rK8KMpxIy9+aCu1Fhh5tv8fCdqM/FDAnZfkMCrh/OMho2XIo=
X-Received: by 2002:a05:6830:59:b0:619:17f7:397d with SMTP id
d25-20020a056830005900b0061917f7397dmr8511801otp.60.1657610377972; Tue, 12
Jul 2022 00:19:37 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus.jakstys@gmail.com>
Date: Tue, 12 Jul 2022 10:19:27 +0300
Message-ID: <CAFVMu-q9zJ7c7Us02ECHd-SfCBE+8UCjiADE9f03vYnVZhrt=A@mail.gmail.com>
Subject: development tracks of bazel-zig-cc v0.9
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi all,
I will occasionally share some longer-term development updates. This is
one of those. Now we have a couple of ongoing threads:
- linker robustness
- performance issues when using zig-cc.
Linker robustness
-----------------
One of the biggest source of work when adopting zig-cc for our compiler
needs was it's lack of support for various linker arguments. When
compiling a program, you would often see something like this:
warning: unsupported linker arg: --sort-section
warning: unsupported linker arg: alignment
warning: unsupported linker arg: --exclude-libs
warning: unsupported linker arg: ALL
Zig ignoring the flags was the right thing to do at the beginning, but
this tends to break software in subtle ways during runtime. So I
proposed failing hard on unsupported flags[1] and implemented (some
still under review) the ones that I found in the wild[2]. Please +1.
Performance issues
------------------
We have found non-deterministic performance degradations when building
lots of code using bazel-zig-cc on a 96-core server. Usually our test
shard takes 5-10 minutes to build, but with bazel-zig-cc some time out
after 30 minutes. More about the CI infra here[4].
So far we found:
- zig was translating -Og to -O1, now fixed[5].
- -fno-sanitize=undefined can decrease the build time by 30-50% for
non-optimized binaries.
- -g0 (remove debug symbols) can reduce the build time by 30-50%.
With these changes the baseline "zig cc" performance is similar to
clang/gcc, but some shards still time out. We currently suspect there is
some contention in zig's caching layer; the track is active, stay tuned.
To be clear, we are not planning to remove the safety/debug features in
bazel-zig-cc for the sake of speed; this is just data we've gathered so
far.
Regards,
Motiejus
[1]: https://github.com/ziglang/zig/pull/11906
[2]: https://github.com/ziglang/zig/pulls?q=is%3Apr+author%3Amotiejus+
[3]: https://github.com/ziglang/zig/pull/11863
[4]: https://eng.uber.com/how-we-halved-go-monorepo-ci-build-time/
[5]: https://github.com/ziglang/zig/pull/11949
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-ot1-f53.google.com (mail-ot1-f53.google.com [209.85.210.53])
by mail-b.sr.ht (Postfix) with ESMTPS id 7112F11EEF7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 27 Jul 2022 19:15:17 +0000 (UTC)
Received: by mail-ot1-f53.google.com with SMTP id w6-20020a056830410600b0061c99652493so13515887ott.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 27 Jul 2022 12:15:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=from:to:cc:subject:date:message-id:mime-version
:content-transfer-encoding;
bh=QiBhGZyDsuGqfrVY4zUwonRcokOdh+ddzWujrxQlags=;
b=i+4CujBL1xDZlczbc6OdrXaX7fU+eiYeslDvZixt2JK9QJxKGhRdDCWgo3TYbIIQoC
Q/848FCUCfrV0CR/BDSbRpsM/Bj1N9fun1lj6biUbyLuQXrouGjG1xI1z9aBso5p2gno
RwUa0Cu/tJV13JCVhuEnpuV7siMU9oJ1tRCtRaG2qp1mQzlrPbky9QxRDBeQakXCnlSw
EZ+z7X5whmjUXw/DGsl4Ve37px7pgd6ErTvTjWfBzYXoZi+Yb9afDwDdLzREYzzJLc3t
qUsL2ESKYiLotr0nVnI9PTkDY2/HKnQ/nwIWmjLDayIK0UpDgVyNqsgPIOH6TFE0jhKM
hJwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
:content-transfer-encoding;
bh=QiBhGZyDsuGqfrVY4zUwonRcokOdh+ddzWujrxQlags=;
b=o+s9WZZJWYq6Xi+7bDlrnhoc0ViC0ftSHtZGlMURS6H3EEH7nxek56mJbj4mK4WIr/
CWaYsvTCjAMLYKzJRua76JPTQd4KNgBJilVJ1hX1AckEryLnXH3ZyAGvhOf/BalXnKcc
RB1Njeb15BI5bItIO2vvFApuMIaF3SuwR85tMpt08aPdULpq0EszPNpYRy/+IxVT/bEy
RXwcYnfpR0Tf7cxCoK1hA40lo2u9SRgA2b4cvr0TiB9zopEnp86fSWdmM6uAeF0w5Ryk
779abWmyG1Sf2zyCsjBhUOJiyebMnauwiAB4uHf5gfvQ6q8zTY5Wf0+oWGF8BShQtUjG
1bzw==
X-Gm-Message-State: AJIora8ONN+9PvJgIr146L067vpZZrUCza/PEKKZO22DY2Z74H2cn0PO
kkqBItdy/lcXB9NB8lK+2ZYdA88pMcdHcg==
X-Google-Smtp-Source: AGRyM1sq0IUerdKA8xSIW66KPXCA4IFzDK8e/cAyVTfoAs6bGrVXcoGRHsZDwCm738EPack0++qF7A==
X-Received: by 2002:a9d:2782:0:b0:60b:1de:d89a with SMTP id c2-20020a9d2782000000b0060b01ded89amr9558101otb.304.1658949316242;
Wed, 27 Jul 2022 12:15:16 -0700 (PDT)
Received: from localhost.localdomain ([201.75.167.67])
by smtp.googlemail.com with ESMTPSA id v15-20020a056870b50f00b0010d15f11512sm9543235oap.4.2022.07.27.12.15.13
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 27 Jul 2022 12:15:15 -0700 (PDT)
From: Luis Holanda <luiscmholanda@gmail.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Luis Holanda <luiscmholanda@gmail.com>
Subject: [PATCH] Add missing include path for MacOS platforms
Date: Wed, 27 Jul 2022 16:13:06 -0300
Message-Id: <20220727191305.1656332-1-luiscmholanda@gmail.com>
X-Mailer: git-send-email 2.36.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
While integrating the project into our Bazel workspace, we had some
problems while building protoc in an Intel MacBook.
>From my testing, the issue seems to be caused by missing include path
in the toolchain configuration to the `-none` variant of the headers.
More details below.
The issue can be reproduced directly inside `bazel-zig-cc` by including
the protobuf workspace as a dependency:
+http_archive(
+ name = "com_google_protobuf",
+ sha256 = "2d9084d3dd13b86ca2e811d2331f780eb86f6d7cb02b405426e3c80dcbfabf25",
+ strip_prefix = "protobuf-3.21.1",
+ url = "https://github.com/protocolbuffers/protobuf/archive/v3.21.1.zip",
+)
+
+load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
+
+protobuf_deps()
And then executing:
bazel build --platforms @zig_sdk//platform:darwin_amd64 @com_google_protobuf//:protoc
The command fails with the same error both in native compilation and
cross-compiling from Linux. The error:
ERROR: <output_base>/external/zlib/BUILD.bazel:37:11: Compiling compress.c failed: undeclared inclusion(s) in rule '@zlib//:zlib':
this rule is missing dependency declarations for the following files included by 'compress.c':
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/cdefs.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_symbol_aliasing.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/machine/limits.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/i386/limits.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/i386/_limits.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/syslimits.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/machine/types.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/i386/types.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/i386/_types.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_types/_int8_t.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_types/_uintptr_t.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/machine/_types.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_pthread/_pthread_types.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/machine/endian.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/i386/endian.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/libkern/_OSByteOrder.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/libkern/i386/_OSByteOrder.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_types/_fd_def.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/Availability.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/AvailabilityInternal.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_pthread/_pthread_attr_t.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_pthread/_pthread_cond_t.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_pthread/_pthread_condattr_t.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_pthread/_pthread_rwlock_t.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_pthread/_pthread_rwlockattr_t.h'
'<output_base>/external/zig_sdk/lib/libc/include/x86_64-macos.10-none/sys/_pthread/_pthread_t.h'
Target @com_google_protobuf//:protoc failed to build
(<output_base> replaced manually to keep the description sane)
Note that the specific rule included in the error message will vary due
to parallelism, but the error is always the same and the missing paths
always have the same prefix (up to `x86_64-macos.10-none`).
After applying the patch, we confirmed that both native and cross compilations
works as expected and can properly build protoc.
Signed-off-by: Luis Holanda <luiscmholanda@gmail.com>
---
toolchain/private/defs.bzl | 1 +
1 file changed, 1 insertion(+)
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 4478947..6a536bc 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -57,6 +57,7 @@ def _target_darwin(gocpu, zigcpu):
"libunwind/include",
# TODO: Define a toolchain for each minimum OS version
"libc/include/{}-macos.{}-gnu".format(zigcpu, min_os),
+ "libc/include/{}-macos.{}-none".format(zigcpu, min_os),
"libc/include/any-macos.{}-any".format(min_os),
"libc/include/any-macos-any",
],
--
2.36.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-oa1-f41.google.com (mail-oa1-f41.google.com [209.85.160.41])
by mail-b.sr.ht (Postfix) with ESMTPS id E327F11EF38
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 27 Jul 2022 20:35:20 +0000 (UTC)
Received: by mail-oa1-f41.google.com with SMTP id 586e51a60fabf-10e3852b463so7414933fac.3
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 27 Jul 2022 13:35:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=from:to:cc:subject:date:message-id:mime-version
:content-transfer-encoding;
bh=C88X6Cj9dWF1UfbeaDb7Lz8haYXlZUq8pzHEB35felY=;
b=J4izNC0h/vZqpl3FAlojjaFPqJ//Xadzj+cCLqPK3c6UYv6BH1FXgLks5vmeR/Wn94
UCvQS2v1sHmCbZjhc9zRPolNCFGk/3JEHfP+TEa8hN5k3EsIdtcGx5v0leb3cbd9mXxA
hW9O6wsx0cDbnv9Y06OA3KsjtKqKzo9USu6dg6s6edQXUT551/9AqXROP2xjm+Xr0b8l
99olx20Ljdqu8C4b9CBjgGc8gwWHPj9XcELmR5jMLxrIEcP7bLKIIT82XV9lXM+hsgNd
Soy3clhWnhPlWyyKGc+f4EUu82+Hp0TfyhFA9fWVLQCpKQ4Dpyur1AzU8ug9CumV+R2Q
EZgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
:content-transfer-encoding;
bh=C88X6Cj9dWF1UfbeaDb7Lz8haYXlZUq8pzHEB35felY=;
b=G3V5XWEO5sHH2BSmEdZWoK/LYUHO70Cqu6e6ahFSQmLAuDyEZiGAQ1HH49NHi5Ew9z
VNZ+Bz/YCW3kGOBzv/a7pKR8Ot9Cm3u6xuxVz0sVBpnI/gOwqAXJimwpesAzkk0L86Lj
Knzpl8FZVPnIh6ZsSR16hnobi7rN+pO8zl5dMdMG2aYerOwiKKEWsiuay+nDUdq57hSW
WgmG6W9p/pNvGVXXvB4kiIN29mDD2QxMo91jPDNbDPiGR0yl4DDPFNcHJ9QmLlp9IXYV
UwlK54JOt6x+xrGH3+1ckhg6WCJCifi6pR6MjhNg1myy6w0lMLeuEgH7XdGyTpNZB//E
Py6g==
X-Gm-Message-State: AJIora8pxEZ6ZjUirq6iBZsQTuulszyNke4IyP1SFAqtk2YtbOQe5VLI
65cydfydQrQIpnA4GTqPVcEi/hlrZ/WAvA==
X-Google-Smtp-Source: AGRyM1u7ZF88lGev8gK4mNAj9+18k+2fagtQ46pH50N6cUFYYsa2cXMunbEEp2WD+Q4TuSsjjZUw8w==
X-Received: by 2002:a05:6871:68d:b0:10d:a96f:16b9 with SMTP id l13-20020a056871068d00b0010da96f16b9mr3091137oao.230.1658954120053;
Wed, 27 Jul 2022 13:35:20 -0700 (PDT)
Received: from localhost.localdomain ([201.75.167.67])
by smtp.googlemail.com with ESMTPSA id eq37-20020a056870a92500b0010d3438b20esm10306217oab.29.2022.07.27.13.35.18
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 27 Jul 2022 13:35:19 -0700 (PDT)
From: Luis Holanda <luiscmholanda@gmail.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Luis Holanda <luiscmholanda@gmail.com>
Subject: [PATCH 0/2] Support NixOS and others non-FHS Linux distributions
Date: Wed, 27 Jul 2022 17:33:51 -0300
Message-Id: <20220727203353.1672954-1-luiscmholanda@gmail.com>
X-Mailer: git-send-email 2.36.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Currently, the project expects Bash to be in /bin/bash, but in certains
Linux distributions, namely NixOS, this path doesn't exist as all
binaries are stored inside /nix/store. The only thing that exists in
/bin in these distros is sh.
This patchset changes all the shebangs to /usr/bin/env bash, which will
work across all distributions.
The first patch changes only what is necessary to have Bazel run
correctly, while the second one changes the remaining scripts so that
contributors using NixOS can execute them without much problem.
Luis Holanda (2):
Support NixOS and others non-FHS Linux distros
misc: use /usr/bin/env in scripts
bin/mod-tidy | 2 +-
ci/lint | 4 ++--
ci/list_toolchains_platforms | 2 +-
ci/release | 2 +-
ci/test | 2 +-
contrib/makerel | 2 +-
release | 2 +-
test/c/test.sh | 2 +-
toolchain/defs.bzl | 2 +-
9 files changed, 10 insertions(+), 10 deletions(-)
--
2.36.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178])
by mail-b.sr.ht (Postfix) with ESMTPS id 5DEA611EFBC
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 27 Jul 2022 20:35:22 +0000 (UTC)
Received: by mail-oi1-f178.google.com with SMTP id r13so195125oie.1
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 27 Jul 2022 13:35:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=from:to:cc:subject:date:message-id:in-reply-to:references
:mime-version:content-transfer-encoding;
bh=tuD3wJBNj3NRAjCTlvFeCAf38S0xjPdk/GOQvmNdgIQ=;
b=k+CtfQuAJyUWYgmCMND7lFVDATS8Xiqu6xEOrvxalwSZKCuuRRPytRY4+KEURaps+U
xG1Kc2ZVsR3Jw50TLl4TfMhTzvZx9J0iFV5378cg8um20ljACTHjxj33sgWluHFDX9sr
mZ29jCKFkTc6SrqIR5xiLZ2Zq+UAJufJXLmIEk5HIdbZbCoKpecjh8oXNpq7zs97s8XW
QjOjwnQIzDMt3SoAAMCPwdOINPBofkF61ygCand4cuq9BjGliQb/Fq8NXzgFnpMQCVjt
31qfRgbVnHrrph3IHc3i8x8zO5fvQJkX8tPSTn1FTtz19l2VuqJqWkMFruJ6yoqN7NRi
0xxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=tuD3wJBNj3NRAjCTlvFeCAf38S0xjPdk/GOQvmNdgIQ=;
b=rGQWcKOpH+Ge6mZInKDddAQuxLb9uwqjcTW+/zV8uPtBFx6VuYp91vKJi1UiqKUGjb
+IcVX6u6acObpGSUAteT307n5SpelFfvIgZokhnmLk5tZ72MvZY/7g2RpitZAHfyyIZP
A6FC9T598PfQUhjoDcVqz/ADqoo7MFXGBaV0HCyOc2RYdyrGeD8TGtfbcBTMneLgk3oS
amg79rzv6woW5+gxcEz6LeD33J6CYIVKIzM+Dr7HG4r7yslOpqbnktHhbeTVco8J6HVO
JFXqhsavOAmYygm1fP2G3otF+UFbG1VGpMjL2yrHHoDdknHY6JEzAkPEN5RLCj0j3RU4
My6g==
X-Gm-Message-State: AJIora9PTzZsk4zYwDoH+5PXgXhhsmrlvUq+/xanoO3gTzUuErLDQp50
9GeYkX5jKLxWpnd5TOYg3oqzup74D6E0IQ==
X-Google-Smtp-Source: AGRyM1vSS6Eoa0cr6+TSJWPYZSJENpgkvtbWyiuj9p3OZr/eFutrL4OsEyd49AWqG6Pr18CiBY994g==
X-Received: by 2002:aca:d946:0:b0:339:fcc1:5f03 with SMTP id q67-20020acad946000000b00339fcc15f03mr2665712oig.230.1658954121538;
Wed, 27 Jul 2022 13:35:21 -0700 (PDT)
Received: from localhost.localdomain ([201.75.167.67])
by smtp.googlemail.com with ESMTPSA id eq37-20020a056870a92500b0010d3438b20esm10306217oab.29.2022.07.27.13.35.20
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 27 Jul 2022 13:35:21 -0700 (PDT)
From: Luis Holanda <luiscmholanda@gmail.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Luis Holanda <luiscmholanda@gmail.com>
Subject: [PATCH 1/2] Support NixOS and others non-FHS Linux distros
Date: Wed, 27 Jul 2022 17:33:52 -0300
Message-Id: <20220727203353.1672954-2-luiscmholanda@gmail.com>
X-Mailer: git-send-email 2.36.1
In-Reply-To: <20220727203353.1672954-1-luiscmholanda@gmail.com>
References: <20220727203353.1672954-1-luiscmholanda@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
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>
---
test/c/test.sh | 2 +-
toolchain/defs.bzl | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/c/test.sh b/test/c/test.sh
index ee67dd3..7cfac79 100755
--- a/test/c/test.sh
+++ b/test/c/test.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
set -euo pipefail
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index d200588..f640aa4 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -76,7 +76,7 @@ def toolchains(
},
)
-ZIG_TOOL_WRAPPER = """#!/bin/bash
+ZIG_TOOL_WRAPPER = """#!/usr/bin/env bash
set -e
if [[ -n "$TMPDIR" ]]; then
--
2.36.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-oi1-f172.google.com (mail-oi1-f172.google.com [209.85.167.172])
by mail-b.sr.ht (Postfix) with ESMTPS id 2FD7911EF38
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 27 Jul 2022 20:35:24 +0000 (UTC)
Received: by mail-oi1-f172.google.com with SMTP id h125so158446oif.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 27 Jul 2022 13:35:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=from:to:cc:subject:date:message-id:in-reply-to:references
:mime-version:content-transfer-encoding;
bh=xSjtdXFC1UmYSLdEpH2vdwQuVCpgTiP5N5Ny/JpP95c=;
b=BspyOlKi0TASgVCkknqfzCDrviIkcb/FZZRv83zCKtblzTrMp2sDzDaeIJPEcjV6dC
gw5+0S5LXiGcVX/38bJ7R15aB8ouaTuA6i5Cg/SZDFBYl+yQGOYl8+fSu/EwFtNQ4T/0
3QeQNjPw178O1FEEzfLWJxKTSvcCs7gYRRONsyEXvTQYvWVs9KayDA6Nfz+sXH8YVK51
zJkhIpOJYeTZrlHcqm5OYIUEkRtR5244AnhlW4RSAumTpl4LSPZMMpT7HIF5+o6kNyYm
DQioNyFg7aU/1m+CJHpGVuN9Xf1zCQ6A1IZCdIVBOEgWrQS+61QyIJuxAH/tvbz1UKM+
DZmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=xSjtdXFC1UmYSLdEpH2vdwQuVCpgTiP5N5Ny/JpP95c=;
b=paKdcAFVye2BAtNFQzt/sO4LZe0afdTQWpPe8VtLby9fN5maOEbI8DcQtyi8YbE5AT
Rug0ymJB7/0rXIQ2XMR2Tz7Pi9DVjNhcu6qI+BgD5WfswUOj3kouIcq6DesssYkyzx+s
UsHrsAq++0T86IlwZW8uc7/5N+6r8xG1w3uqcdyAIJdmFPgefpoPYJsjcXN/VPOtbBFk
xcMrphcX8WVAeISnQrMj75egTVal7FZKPX4++r7X2H+86Fa7U76YbYpgUSg3KtHg3lKg
GdbNz1L3aATEV46W9e1Sju9jG4/jx0S73HaDu6Gf3S3bxbTZM7VMFfKADvExnITnv0eD
WhiA==
X-Gm-Message-State: AJIora+b7sLcppGy80arrIeJOrOaIdyZKCeuoxqEMix0EslklmRoGKjO
spwhuPOcbO+BlhaDatkA7bMjhqMvfKKxsg==
X-Google-Smtp-Source: AGRyM1tFzU5vsccWZskXpEYnhUKHf81gtd6jWhov81jmpBQCW1w3d6ouBHO6swcFyPfH9X8hkuVOvw==
X-Received: by 2002:a05:6808:1a13:b0:33a:75de:233f with SMTP id bk19-20020a0568081a1300b0033a75de233fmr2716223oib.158.1658954123357;
Wed, 27 Jul 2022 13:35:23 -0700 (PDT)
Received: from localhost.localdomain ([201.75.167.67])
by smtp.googlemail.com with ESMTPSA id eq37-20020a056870a92500b0010d3438b20esm10306217oab.29.2022.07.27.13.35.21
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 27 Jul 2022 13:35:22 -0700 (PDT)
From: Luis Holanda <luiscmholanda@gmail.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Luis Holanda <luiscmholanda@gmail.com>
Subject: [PATCH 2/2] misc: use /usr/bin/env in scripts
Date: Wed, 27 Jul 2022 17:33:53 -0300
Message-Id: <20220727203353.1672954-3-luiscmholanda@gmail.com>
X-Mailer: git-send-email 2.36.1
In-Reply-To: <20220727203353.1672954-1-luiscmholanda@gmail.com>
References: <20220727203353.1672954-1-luiscmholanda@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
This patch continues the work to support NixOS and others non-FHS
distributions by replacing instances of `/bin/bash` with
`/usr/bin/env bash`, which works correctly in more systems than the
former.
Signed-off-by: Luis Holanda <luiscmholanda@gmail.com>
---
bin/mod-tidy | 2 +-
ci/lint | 4 ++--
ci/list_toolchains_platforms | 2 +-
ci/release | 2 +-
ci/test | 2 +-
contrib/makerel | 2 +-
release | 2 +-
7 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/bin/mod-tidy b/bin/mod-tidy
index 0c66f25..b3d0971 100755
--- a/bin/mod-tidy
+++ b/bin/mod-tidy
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
set -xeuo pipefail
diff --git a/ci/lint b/ci/lint
index 8c52243..f84eaa1 100755
--- a/ci/lint
+++ b/ci/lint
@@ -1,9 +1,9 @@
-#!/bin/bash
+#!/usr/bin/env bash
set -euo pipefail
REPO_ROOT=$(git rev-parse --show-toplevel)
cd "$REPO_ROOT"
# shellcheck disable=SC2046
-shellcheck -x $(awk '/#!\/bin\/(ba)?sh/&&FNR==1{print FILENAME}' $(git ls-files))
+shellcheck -x $(awk '/#!\/usr\/bin\/env/&&FNR==1{print FILENAME}' $(git ls-files))
find . \( -name 'WORKSPACE' -o -name 'BUILD' -o -name '*.bzl' \) -exec buildifier {} +
diff --git a/ci/list_toolchains_platforms b/ci/list_toolchains_platforms
index a7d0342..fae9ab8 100755
--- a/ci/list_toolchains_platforms
+++ b/ci/list_toolchains_platforms
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
set -euo pipefail
indent() { sed 's/^/ /'; }
diff --git a/ci/release b/ci/release
index 5149c64..b166828 100755
--- a/ci/release
+++ b/ci/release
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
set -xeuo pipefail
cd "$(git rev-parse --show-toplevel)"
diff --git a/ci/test b/ci/test
index 269510d..5aaac7a 100755
--- a/ci/test
+++ b/ci/test
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
set -xeuo pipefail
bazel test ...
diff --git a/contrib/makerel b/contrib/makerel
index 045b422..de614db 100755
--- a/contrib/makerel
+++ b/contrib/makerel
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
set -euo pipefail
zigdir=out/zig-x86_64-linux-musl-x86_64_v3
diff --git a/release b/release
index c3a4976..d49de26 100755
--- a/release
+++ b/release
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
set -xeuo pipefail
sign=(-u motiejus@jakstys.lt)
--
2.36.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f44.google.com (mail-oa1-f44.google.com [209.85.160.44])
by mail-b.sr.ht (Postfix) with ESMTPS id C0C9A11EFC0
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 28 Jul 2022 19:47:17 +0000 (UTC)
Received: by mail-oa1-f44.google.com with SMTP id 586e51a60fabf-10e3852b463so3586422fac.3
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 28 Jul 2022 12:47:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc;
bh=1X1kmZLyj4O7fbyQVYj0WvgfhXov5fohPzPdN2JcHlU=;
b=AER75cZ1cZcA4JkXpIrkJ9tvtLgltWuAzjymTMN+NDkvAbYOl7skEeIgAiOFAQMmFq
3EeQzHNKOHxo6tsE5pVkeYTZaI1+it49B3aPrGVGEeHvyX58sHqW9WFaeTTQ16Fkz6Sq
TO3aCBngShJa96HwjzEErzN8a4tLagcXJoT26pbd/aE4QdS+QyHBuXEOSwsoDkFmXpV4
hMSeF/s4T7XweqVImQ6vJkfBCNgETyYlhqbh4fmitgrsSvXhmOKLfDQcrB+Z5w2Dfy8n
HeSUPmJMw99mqnYxKFdjuAdJD3nJgK/8H4DZO+oU9WVbRrr087UeUMYlpvqbz1/J7hhO
WzhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=1X1kmZLyj4O7fbyQVYj0WvgfhXov5fohPzPdN2JcHlU=;
b=xoRL7sL0PVouUgNzDvkHFUZAeTO9BwePplFZZXYNeI3MP95iqB/k7hiEa7DJX2lBjM
rzwaprXx/1XiZ+A0teWUMxYq2cJy3RDcmyu9/Z/L6u0YKsH/OqkbAFbUdZeW6YCI4kFb
v0IXj5WqvCaXp5JwkLT9XRAbJmvOLgybT3FlXUDev8ulV+WYlx9KzmqmL0OuRuxMu4TA
mA0Muo1pUmMHDh46VxawINHllcFmL0K1P7SFd2ryCFMi8AWGR1w7Fza1iRFRJ2INUiWt
RGYuBvNXLi+TrTEhhGB0BWB2aBCOt5DKMwi6ryjV5F86bWf8DaS5oyb+ejBJNwKzaqgd
/Uiw==
X-Gm-Message-State: AJIora83HOY+O9jkO5I/26gKLXl968jSn7EfVix19HoXkgHzJ+9zlAlQ
EyU4VZUxhXV05NQfkoXPwjYxSQ1/7hIT94edUIo=
X-Google-Smtp-Source: AGRyM1ta7uAwtLddkUTA26k9NzRwJ8y8RYQUriPieT5iC7G9uqpNMFDAAAs0zwJlTq4LAI+ujenE5OqDJt2b8G0ekFY=
X-Received: by 2002:a05:6870:a118:b0:10e:631c:5f3d with SMTP id
m24-20020a056870a11800b0010e631c5f3dmr110995oae.116.1659037636813; Thu, 28
Jul 2022 12:47:16 -0700 (PDT)
MIME-Version: 1.0
References: <20220727203353.1672954-1-luiscmholanda@gmail.com>
In-Reply-To: <20220727203353.1672954-1-luiscmholanda@gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Thu, 28 Jul 2022 12:47:05 -0700
Message-ID: <CAFVMu-pRq0L35-7tV54WQWNT_6=ZLQwbc54P=zD9dNg-BBc=GA@mail.gmail.com>
Subject: Re: [PATCH 0/2] Support NixOS and others non-FHS Linux distributions
To: Luis Holanda <luiscmholanda@gmail.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
On Wed, Jul 27, 2022 at 1:35 PM Luis Holanda <luiscmholanda@gmail.com> wrote:
>
> Currently, the project expects Bash to be in /bin/bash, but in certains
> Linux distributions, namely NixOS, this path doesn't exist as all
> binaries are stored inside /nix/store. The only thing that exists in
> /bin in these distros is sh.
>
> This patchset changes all the shebangs to /usr/bin/env bash, which will
> work across all distributions.
>
> The first patch changes only what is necessary to have Bazel run
> correctly, while the second one changes the remaining scripts so that
> contributors using NixOS can execute them without much problem.
>
> Luis Holanda (2):
> Support NixOS and others non-FHS Linux distros
> misc: use /usr/bin/env in scripts
Thanks, applied.
For next time don't sign-off -- that's unnecessary here.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-oa1-f43.google.com (mail-oa1-f43.google.com [209.85.160.43])
by mail-b.sr.ht (Postfix) with ESMTPS id 726A011EFC0
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 28 Jul 2022 19:54:08 +0000 (UTC)
Received: by mail-oa1-f43.google.com with SMTP id 586e51a60fabf-10cf9f5b500so3618201fac.2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 28 Jul 2022 12:54:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=message-id:date:mime-version:user-agent:subject:content-language:to
:cc:references:from:in-reply-to:content-transfer-encoding;
bh=M3ZKMew3WW1+uBDJoQxk2d84eKMMvUxo8mlnKoDakpc=;
b=LOcdMVyNyFSxiYbPpivz7Z6MKEK7BGlpcItSPk+jfBByt5ZR9s9uRgScpZyCoJlEPQ
rNwID2ja8hhBOPK/uRhFy4ukUzgJKK7jCm/ItbJEMaKXu+/Zft7B1RSD1xwetfiSO8ip
vR9TNnmGBPZVsyGr6zhlJpLmFQ921JrQGDm8vWhYcde569j1UHQ8IdRjQSW0YswSh3W1
lJ3QiE1yYqFOzaUTC4NiCPNmLVkqPPmNVXkOJz1ykY+VHsh/oVzJ1UP8mZ45TF+Bq4kI
r1KGZUAeZnRMdjYqC5qrVdrystgB5KAI9V2zB0YlYdgiHZuIQo6evRsJKJiKZ/uddfKW
kNQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:message-id:date:mime-version:user-agent:subject
:content-language:to:cc:references:from:in-reply-to
:content-transfer-encoding;
bh=M3ZKMew3WW1+uBDJoQxk2d84eKMMvUxo8mlnKoDakpc=;
b=Mt/l5KtYVK6JjMb4xRehzy2n+BV6LczZ4gK7CeB/ouj1t32Es6jcvybAcb/I4sKYyi
zxHRc/6UfgYINfhjk5qcc685NFA3vTbJMTMwWMb/AejB0k5MpE/ymS56vNKW/YjKFhUK
GdzHSN7HcPtsSTfNI6RyVKdJXAgVNpqlOwFd+U5T0LkYpJmFtdFq+HCXkrZFWbqXxz5z
9nUb65qgQFXGJ3fvbRTanovAunjjjBNlHpHRtsJvjrfG9vXkhGzb3tffQphoAAqrvXvk
ruFuDaJOJdgSA5ebU1n/oU2t2Od5Q9gV2FeBRN3SeRXBdVqeU6qF9qhzld1RSCbhoHOZ
KrzA==
X-Gm-Message-State: AJIora/Hw737Lq5KYb7S7Y2ka/kc1tybwolmSlXXKwFSypFW3NGNHSGS
+d5HaG0t+2KSfwEaCSq6uJhILbG0I7gkcg==
X-Google-Smtp-Source: AGRyM1vnhn2Wu3z1qBQ8WSZ4qGlx7+SMqrLP+9laH5jK4mCWi9nmiRQQOGZ5o7eFAYAmkkzXaHfviw==
X-Received: by 2002:a05:6870:4388:b0:10e:803e:5071 with SMTP id r8-20020a056870438800b0010e803e5071mr120170oah.62.1659038047709;
Thu, 28 Jul 2022 12:54:07 -0700 (PDT)
Received: from [192.168.0.2] ([201.75.167.67])
by smtp.gmail.com with ESMTPSA id q22-20020a056870e61600b000f2455e26acsm883856oag.48.2022.07.28.12.54.05
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Thu, 28 Jul 2022 12:54:06 -0700 (PDT)
Message-ID: <c445d0d6-76e1-e025-f580-d3fe85277e9c@gmail.com>
Date: Thu, 28 Jul 2022 16:54:01 -0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: [PATCH 0/2] Support NixOS and others non-FHS Linux distributions
Content-Language: en-US
To: =?UTF-8?Q?Motiejus_Jak=c5=a1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
References: <20220727203353.1672954-1-luiscmholanda@gmail.com>
<CAFVMu-pRq0L35-7tV54WQWNT_6=ZLQwbc54P=zD9dNg-BBc=GA@mail.gmail.com>
From: Luis Holanda <luiscmholanda@gmail.com>
In-Reply-To: <CAFVMu-pRq0L35-7tV54WQWNT_6=ZLQwbc54P=zD9dNg-BBc=GA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
On 7/28/22 16:47, Motiejus Jakštys wrote:
> For next time don't sign-off -- that's unnecessary here.
Thanks for the advice, first contribution in Source Hut.
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.53])
by mail-b.sr.ht (Postfix) with ESMTPS id 50E4011EF0D
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 12 Aug 2022 03:10:51 +0000 (UTC)
Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-10ea7d8fbf7so23716771fac.7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 11 Aug 2022 20:10:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=to:subject:message-id:date:from:mime-version:from:to:cc;
bh=OvzaL/b2JIuLqdwq3IORh34Z1rM/m/uAXm6MNfTIKqw=;
b=Y1de+fXouMuRC+4OVwmKiUU85F8qIds7Ldy7HLZmv9FF+YMF4K+vwOhuKsLf18bnvw
tgRLXMEc3793BUsYsC0f7tuQDZ1i1p8Mv3EAse5t3Q2oFmSFspxnpfRIaeEPfuUasHbe
HbhnOWJhbvb8a69VFAXPkmtBmgu/xSXeQM5MOrfzMJkLbumTCwGGhcwTxWvqIlMuYgex
rttsAq4Yul9CjcrSHacD5XfLd8mbeKkhp1acVO1110Ukywy5IU3Czy63E1QYZLe3yk/g
vvUFKSYq/GrHdGMsLkkLtiMKbpDBDL3yUDSlVAm9zUnlxhogNLMluBmB/fUzEhdKnPND
AVRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc;
bh=OvzaL/b2JIuLqdwq3IORh34Z1rM/m/uAXm6MNfTIKqw=;
b=lueMsA0iY6ThJVU310h4n6zjuZXSSup9G7ukjO0a3/GITJYu/vjfQxqSK6W2mkevvB
oZtnxQRLcBwaLBLcr2xZ0l3OduKYwuMLGm58e3QwFM525uM4sR7ihVE+hb190btkunCv
OkCs1cN+7o6y5JAJ/4dtz2RqoVCpPkFsbGqnKzYhX/5WGcGms5CVFsuVcBSqrfwxUbcA
O7YEx1VX0RyZ2SNvN9xh8CeXqoQuAZHmOVuWdAcyP+3libHz+bZlh6p6EaSXPpF8YM10
rP+NfEQDfWwRaLxAwu+WyzVJf6lPh33GkaK0eQCs6dLd6OepntrXsaJK0xH+DREqER9I
PYLw==
X-Gm-Message-State: ACgBeo1whcPtaS8bUFhfBC8G1rs2Lk+mUxI4RJT7LhKXFfoBb2RmfKOV
+YLILXtQRgbKpWEkHxhQ9yu2KYbZK4jqlzA9Asmb/vibGok=
X-Google-Smtp-Source: AA6agR73vYCQ2Cp2MweANst1nlNAZSL5aZ0VZWj5UGZ+zUx5eTckzAwyIcOtGIIaAMH9MGfK0niQDsV4bU2h35wap0Y=
X-Received: by 2002:a05:6870:8904:b0:113:a785:b09f with SMTP id
i4-20020a056870890400b00113a785b09fmr4932714oao.216.1660273838844; Thu, 11
Aug 2022 20:10:38 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus.jakstys@gmail.com>
Date: Fri, 12 Aug 2022 06:10:27 +0300
Message-ID: <CAFVMu-pEXFq8oDmny92hv1vsdO_0Cw4a33BsEY_RykeTZHZ35g@mail.gmail.com>
Subject: bazel-zig-cc v0.9.0
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi all,
Bazel-zig-cc was released. Backwards-incompatible changes:
- Requires Go 1.19.
Notable changes:
- go 1.19 adds "--no-gc-sections" line [1], so we could clean up this
from bazel-zig-cc. This is why it is incompatible with older Go
versions.
- go 1.19 uses `--compress-debug-sections=zlib`, which Zig understands
since [2]. This results in significantly smaller binary sizes for
debug builds.
- support NixOS by Luis Holanda
- upgrade zig 0.10.0-dev.3529+44a6172ed
[1]: https://github.com/golang/go/commit/16e7613b2e1861b25c6549051337d1d8a850cf63
[2]: https://github.com/ziglang/zig/pull/11863
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=tecton.ai header.i=@tecton.ai
Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177])
by mail-b.sr.ht (Postfix) with ESMTPS id 54FCD11EE5E
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 22 Aug 2022 14:28:16 +0000 (UTC)
Received: by mail-qt1-f177.google.com with SMTP id x5so7973001qtv.9
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 22 Aug 2022 07:28:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=tecton.ai; s=google;
h=cc:to:subject:message-id:date:from:mime-version:from:to:cc;
bh=0FaUGogP99VFlV515qvsOttPexbmSEDINNNuiGcAFLQ=;
b=myRYmPEew/uqEMlLs+dya7upg+Ku8UAi5H/Ko7LRxKRiqxooWMBhX6qByl0cGj1BtH
7lSa4g0gDMOK3Nt6ETUCbQYQsCA9ZeGHdScdAp+0ksBUUfmp8Kg+AOTasukiNbure6OK
+5L4HIx99Jy5k/tDgy0j0rIosaaDosL2uOhPVEbJkLZim3t6Icb9HMLIw12uGXTM1bbk
gewyuJS4lsfm5MewPvzL4Jzv8UXC9cFYvPy3BcjPhwk/It8o2+LygxITDE0BN5HnH24I
jd5d1JShrirxfqznYrq9Cbc1EBQ7nmjFWJcbJsZEjiYMSzFPXodzkrPX+r7XYvFCxaqY
O8Ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc;
bh=0FaUGogP99VFlV515qvsOttPexbmSEDINNNuiGcAFLQ=;
b=UR+/h2zXUo4XMcvDy6S0MWnGJBpo9ja8Lcr0B7eEFZ771q2l24Ea9jen2DEgxOD/Th
eKaUUlpJyzJWTulEQKT3jCTEdW+Jo6WLS0FY6JMYMN3L523i5zbCR8ZHFZdcsFupaP3U
DL1S2hQq1T2G3YaExRcm5Dd1oAMFIZe05rrWAAkCke3iIlmM3mZlIifrVSEdXPKQw4IN
TNDicvxR6zzPzovu16Ff2lz49PyIJ0CgaHKcadJR4XvIZRDpeuGIrZMB9s+1H2oGEbTI
TO8Q1PxjQIdCivMjc0hxaeAkst+7ywivFZ7SndMWBPHZvpTBy+kwrh73fW0tiZBlO6nk
73MA==
X-Gm-Message-State: ACgBeo3HEbCDt5/I2VSixEWpwoIxHlUpNHs+ntByW+CmDryVdJkmpMza
C5e07jDx2kt263q0PJKhOfChMeUH6eR0THnUAva9yJTiF9266g==
X-Google-Smtp-Source: AA6agR5KcFftNxZIzNkfGY3ZTIM3V4H2EQ2iFXdZndc4FXOPEFDHpvoqYI7yHjSVqy8XTtdjICtyljk3zDftTRhfaBo=
X-Received: by 2002:ac8:5dd3:0:b0:344:94e6:d667 with SMTP id
e19-20020ac85dd3000000b0034494e6d667mr14471839qtx.409.1661178495743; Mon, 22
Aug 2022 07:28:15 -0700 (PDT)
MIME-Version: 1.0
From: Mike Eastham <meastham@tecton.ai>
Date: Mon, 22 Aug 2022 10:28:05 -0400
Message-ID: <CAMWUSyfthsE5Mk14K3Ly_EE10wcKB3eUA6MQib6Tgcv0ogAWPg@mail.gmail.com>
Subject: Re: [PATCH] Add missing include path for MacOS platforms
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Luis Holanda <luiscmholanda@gmail.com>
Content-Type: text/plain; charset="UTF-8"
I found this thread while preparing to submit a patch for the very same
issue. Hopefully it can be merged!
One nit is that I believe the "{}-macos.{}-none" path you added should
be replacing "{}-macos.{}-gnu" instead of adding to it. If you look at
the Zig distribution (zig-macos-aarch64-0.10.0-dev.3659+e5e6eb983 in my
case) you can see there are no -gnu directories, so I believe that was
just a typo:
$ ls -d lib/zig/libc/include/*macos*
lib/zig/libc/include/aarch64-macos.11-none
lib/zig/libc/include/aarch64-macos.12-none
lib/zig/libc/include/any-macos-any
lib/zig/libc/include/any-macos.11-any
lib/zig/libc/include/any-macos.12-any
lib/zig/libc/include/x86_64-macos.10-none
lib/zig/libc/include/x86_64-macos.11-none
lib/zig/libc/include/x86_64-macos.12-none
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178])
by mail-b.sr.ht (Postfix) with ESMTPS id A572611EF31
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 23 Aug 2022 07:19:47 +0000 (UTC)
Received: by mail-oi1-f178.google.com with SMTP id n124so4128640oih.7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 23 Aug 2022 00:19:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc;
bh=6zsEA5ROHIaWczJmUs9TIDq1H8FQUqtskW48jtXZh8U=;
b=WrIgsvXVSVE3sUOG3GBYAczzMKmmUiVCm+1e0Bbu/vPxOiK7d9C+zFL3pExX60pR9S
ytwYop74njTfEdiAQRcIu1d/ejQSZ0d3BRLMlGFdZoGDxcKwEvJgneCokYR+K5kLeNCL
iumvaJ3jk+NU1Kukujj2mRuLaKwMYZrdNtw8HDVvnKH+xqf/dvCj7004m+zx+pJdf3qQ
hJdhS/GNEy9tZGujeUL5WSYl2QGiW/G68lF/zks6992s4E8zTAoE2vQ/ckHW4RSs3NHT
loQq60MS+y3wNJNsC8zegbPdufs3VI2JJzg/9O217YdXWM13HzOKi0b2p56RTf23o78+
yQXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc;
bh=6zsEA5ROHIaWczJmUs9TIDq1H8FQUqtskW48jtXZh8U=;
b=0iwnUvjsk9pyixEGTNO7/k+CwiuXhjuPsp+aD7uLd6sxOnyhR1Rr9HZAKGeXM3L1NL
YHn6+fZ0N8ibCZgycIAdmZ2T8kdDFK13bIBoopon9GnyYcILSIRbhAWG3IL88c4Cb3DI
2mf/u2unyxwr5iPHCupymb+VOHloQkMEN9Tt5dfjTWrzStPkVzOCU2WqXM7V7hZyvB4m
zzDqetieUSGIbbYaKmOg/Lw4zCDAXROJpIyDd61o6ETqAt3LLrGkQ0b1o2BAud125aUw
pnHRqqbsNQw5qsyYntgnPLro7OltzWDLHEFzk7CFCrOCFDgf4XOhQJ1TdkTj5MRJh2KJ
VSnw==
X-Gm-Message-State: ACgBeo086hb4XC/7Dvh2Virpw6nNfCoL4jBoPQnmHGgODeBo2rMKeLRZ
SdX90hyovoHT2c9ErqPrzWQl0qBitpsjeSXoL28=
X-Google-Smtp-Source: AA6agR7WUdNw7VLbTkGnIeFhDKm7nlMyngIs6rt5xJJEJVJkXRNcMQGWAdgcK+vfqNkF9OQcxA3s8uUVwnD61A3H5P8=
X-Received: by 2002:a05:6808:190f:b0:343:a58:d61d with SMTP id
bf15-20020a056808190f00b003430a58d61dmr782979oib.216.1661239186909; Tue, 23
Aug 2022 00:19:46 -0700 (PDT)
MIME-Version: 1.0
References: <CAMWUSyfthsE5Mk14K3Ly_EE10wcKB3eUA6MQib6Tgcv0ogAWPg@mail.gmail.com>
In-Reply-To: <CAMWUSyfthsE5Mk14K3Ly_EE10wcKB3eUA6MQib6Tgcv0ogAWPg@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Tue, 23 Aug 2022 10:19:35 +0300
Message-ID: <CAFVMu-rbHhDWxb0kVi2zyPmU3JcXBc0ECOXQ+aytnGD2YOm8Tg@mail.gmail.com>
Subject: Re: [PATCH] Add missing include path for MacOS platforms
To: Mike Eastham <meastham@tecton.ai>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, Luis Holanda <luiscmholanda@gmail.com>
Content-Type: text/plain; charset="UTF-8"
On Mon, Aug 22, 2022 at 5:28 PM Mike Eastham <meastham@tecton.ai> wrote:
>
> I found this thread while preparing to submit a patch for the very same
> issue. Hopefully it can be merged!
Hi Mike,
The subject like seems reasonable, but your submission is missing the
patch itself.
Thanks,
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=tecton.ai header.i=@tecton.ai
Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com [209.85.160.172])
by mail-b.sr.ht (Postfix) with ESMTPS id AEC0E11EF83
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 23 Aug 2022 13:52:23 +0000 (UTC)
Received: by mail-qt1-f172.google.com with SMTP id g14so809723qto.11
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 23 Aug 2022 06:52:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=tecton.ai; s=google;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc;
bh=7bXekKd7tvx/coptKr4cmDzXTJeOU8pK9pdf4IaDJxE=;
b=D5NGNff2j2PvRfFJ/LwlU4vC4vQCWsIv4uuvps6r2b9rcPtXRghKABU1t/l6tDS9th
sevm6uhIxWPrG+Xxlv5NI66WPNrslrLMoNrfGIXvxxUUKtkBP1AFn+P/6f0iYspklre6
58Wm+cEQqTOLwZq6aaxd6QAmpvU3AyAvofDMEh9nwlzX8jxk07kgPTjRxI6F572opaDU
/YHTaa0P1fH0f81hN3faGRY+v96OEg4PXX1pdi71Ars2qxN9wSh6U8iIMJTUJtKbV1Q3
m1+yI6rD0BxhOUWwHL8b6/gB40i0vHpgI6gKZACXqvZN8OK5kEeUtTeWnPcwgydkrCyk
Yr4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc;
bh=7bXekKd7tvx/coptKr4cmDzXTJeOU8pK9pdf4IaDJxE=;
b=JEizfdgirIPfD1X2Xn3/2pJXhu/7gMTYck8d0FhL0p/CR1RYWPfgsaylmGfg7saIbZ
7iZMCbmAbbsXuobwb7dW3Etqz/JUI2kfaL8vnbDJnSMSxLicbn8GJMrBSa2MEoCFtrdV
Y9l91d4VXhJwU/XnBvQcVb6VljNMDqoeUbv/ZGJubkiYCM8rbdwvPGHe8/tEDQxDr8Vj
xSqKPrQ4bmxOHFIpRYN5WqndvN2ewSWl9qcQhaEYfxnSXh+wF1Nd5qk5Qyev6XzYAUNj
bbmd9ziZymPy9a+kujJr2WtJa6xCquXmgESpzImm3FkmM/RZs5wke5f4e0klvBiPP280
QD1g==
X-Gm-Message-State: ACgBeo1Gqc4xx4nLA0Ol5cQ+UkwvTy2yQTdhWsRyc1+K2W6IJzcGxfy6
//ZWFpWHxl8dP6IoWWYg1k8ESYO5Bnk+L93VHd3pq2mbitRHHA==
X-Google-Smtp-Source: AA6agR7Kf21QHF0pb+L+wpWo+wCOBg1pUhgFNRILndGzWlmPJTzpIlGWIh/eY5IcibUONlUdl1QeSHfGR5xX1vXcw7c=
X-Received: by 2002:ac8:5dd3:0:b0:344:94e6:d667 with SMTP id
e19-20020ac85dd3000000b0034494e6d667mr18596305qtx.409.1661262742104; Tue, 23
Aug 2022 06:52:22 -0700 (PDT)
MIME-Version: 1.0
References: <CAMWUSyfthsE5Mk14K3Ly_EE10wcKB3eUA6MQib6Tgcv0ogAWPg@mail.gmail.com>
<CAFVMu-rbHhDWxb0kVi2zyPmU3JcXBc0ECOXQ+aytnGD2YOm8Tg@mail.gmail.com>
In-Reply-To: <CAFVMu-rbHhDWxb0kVi2zyPmU3JcXBc0ECOXQ+aytnGD2YOm8Tg@mail.gmail.com>
From: Mike Eastham <meastham@tecton.ai>
Date: Tue, 23 Aug 2022 09:52:11 -0400
Message-ID: <CAMWUSyfyLU+CR8mCznvAgopdX+JzJUniFWNRYrq8x3Xz4AA4fA@mail.gmail.com>
Subject: Re: [PATCH] Add missing include path for MacOS platforms
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, Luis Holanda <luiscmholanda@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Hey Motiejus,
I was trying to reply to the patch submitted by Luis Holanda 26 days
ago[0], but I suppose I did something incorrectly. Sorry about that!
If it would be helpful for me to submit my own patch I would be happy to do so.
[0] https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/34242
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181])
by mail-b.sr.ht (Postfix) with ESMTPS id 0CA6811EF83
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 23 Aug 2022 15:14:00 +0000 (UTC)
Received: by mail-oi1-f181.google.com with SMTP id u14so16408944oie.2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 23 Aug 2022 08:14:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc;
bh=UiBbGSUcRFrswlDf6dTZPvgknhWjlPB+Pss1mV60VCc=;
b=N6jjJ6h6JmEyxA+/5eKax7hkg3q3r8REAO5GXZUWNVhMPfpc/bXF74m8w2LhNfxdSd
hLjMlk2+1QYlrlQ3238JA6ap6CEpNuowZLU8jDtKaGoTDMSEQL0cX3cUu9+W/rLoWPl4
N0A89BhjKQF1r3iFY3kLtB6L5XfshMTayLS4d1quqcuOVCG1SF34xZsJXp0IpZPfScNd
iWwjKXjY1Ejnlnat/e4RPmjWND+7MnM8tP0xzpTefJqVUwX7YRujviUQ8ejWwUeu3uLm
il/OsndSfHTJOzbFOwGSu0IrJ1URoil7znqs2lZEOXev2RMCHgDJ1zB2nEPlEwZoH6Dx
jm6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc;
bh=UiBbGSUcRFrswlDf6dTZPvgknhWjlPB+Pss1mV60VCc=;
b=nXkkocwHjS12hwEmRoCJEuDyEA5/Yfyc8rg/Hdw4U7HhKrFqxiBxgIQGDrc+036xgO
/3cYHviSRGVCuwYv4yzhKmT9OwV2HCeBAlQn1hK5wH0YuScVrqjYEY9PrfztXDEoGWzx
0hbgBpEV3Yd8FNV/QuFYtop7yOIcqJL8uDYZLqFBWsSLrBS5HwT7kIha/IkNXAM9sCOM
bqfvdk1N+UyC0gQVo+5h0KR0bmkmqJ8xRCKstlbfxB0vkp/WkYgsxU/4e3i4lcNzZT1n
L+EqzC5FH6dHZhYmV4WYNWKcKT+KvSta0nWv8roYmbHJvXHgVpu+8OHPdk70NQU0T3Th
4Otg==
X-Gm-Message-State: ACgBeo2jw2zx+vpN5jWqlaJs4WCe9crw0+L5IQXWEJhZvx30LGi0r1Dd
ZSslqXzTW6GPl4YKCXcfZ8llj6STsY5nSucG2Ns=
X-Google-Smtp-Source: AA6agR7EZXa3RFai+xgmpWX1+wBSiFO8yPakr89uSj1HUbwpRv9okSa+K4wmADtuNKXmmaCwN2c/4YUVFFwwB+dP20o=
X-Received: by 2002:a54:4899:0:b0:343:3f7c:713d with SMTP id
r25-20020a544899000000b003433f7c713dmr1493575oic.116.1661267639367; Tue, 23
Aug 2022 08:13:59 -0700 (PDT)
MIME-Version: 1.0
References: <CAMWUSyfthsE5Mk14K3Ly_EE10wcKB3eUA6MQib6Tgcv0ogAWPg@mail.gmail.com>
<CAFVMu-rbHhDWxb0kVi2zyPmU3JcXBc0ECOXQ+aytnGD2YOm8Tg@mail.gmail.com> <CAMWUSyfyLU+CR8mCznvAgopdX+JzJUniFWNRYrq8x3Xz4AA4fA@mail.gmail.com>
In-Reply-To: <CAMWUSyfyLU+CR8mCznvAgopdX+JzJUniFWNRYrq8x3Xz4AA4fA@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Tue, 23 Aug 2022 18:13:48 +0300
Message-ID: <CAFVMu-onW3K9cF3iS9YK7a6zQ+fi_OEvYskJfjxM1zaresZPRg@mail.gmail.com>
Subject: Re: [PATCH] Add missing include path for MacOS platforms
To: Mike Eastham <meastham@tecton.ai>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, Luis Holanda <luiscmholanda@gmail.com>
Content-Type: text/plain; charset="UTF-8"
On Tue, Aug 23, 2022 at 4:52 PM Mike Eastham <meastham@tecton.ai> wrote:
>
> Hey Motiejus,
>
> I was trying to reply to the patch submitted by Luis Holanda 26 days
> ago[0], but I suppose I did something incorrectly. Sorry about that!
>
> If it would be helpful for me to submit my own patch I would be happy to do so.
Thanks, I didn't capture this first time. Applied Louis' patch and per
your suggestion removed the darwin-gnu ones.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=tecton.ai header.i=@tecton.ai
Received: from mail-qk1-f176.google.com (mail-qk1-f176.google.com [209.85.222.176])
by mail-b.sr.ht (Postfix) with ESMTPS id 3B24E11EFF5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 23 Aug 2022 17:10:24 +0000 (UTC)
Received: by mail-qk1-f176.google.com with SMTP id g21so10786492qka.5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 23 Aug 2022 10:10:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=tecton.ai; s=google;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc;
bh=rNJlO4/q80kk+PEPtW5ue8B+S2Qcu1i/6aKbO8a3aoI=;
b=ZC4OgnYZUU79FwXdoX76CN+40U8f4wDu0Psb5HuI/OdHa9++nSKj+j9iPP/lT3Hf2L
PbRie9tQHGfSDfovYbBGYEtrTbAqfCuTNa4Rjc+PUKBsNCavBuctA01BRIQab5lzGzyh
cTql61htQbUj17nxpjiKqEGJ7U0qE4itwuSMd3Ysbsxsto9curOzjHreN1IuRTlrpmCr
nOdJkGh//1GTP1eXO6OpOiEZ+GD48y+V5iWsF89H2aP7O95vc8DrzIxFZTU0LcsMLpBn
jOreDjZxYuyWhtMDrrQxXbSUMVR3rMISUWR/NG+7vK6jRiVq65F/5S1MV8VHX9LiE7g/
ISkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc;
bh=rNJlO4/q80kk+PEPtW5ue8B+S2Qcu1i/6aKbO8a3aoI=;
b=v6BO8vSXIB9+WAEe+mbk7IMU/SCNUGRMHkgI2WbHOzfd98j1Y6/a3/a/YUOelxSIpz
O85Gp0u8azxGDG6gcygoq8elOcRNjvS11TNQDZDmtFsUbSfFtMII/PTss0EQdnDXu9u0
nh0pHf0lsbv39t5htMX6LWj4GMivbn/xFBbX5FKe6GaFylirGk0FlzvsaPck84/FXz0G
lBGn5j9GABWmTuOZ6A4EDh8ymEkaGn3arHVng+UtBmVx9279izVchHfecyto6TOH0a8x
38AtYfJ0NvodF/ytn0S2sN57UtSYRMJq2dQxWl4ukjMgnj8uk2EwMlGT3jAtCvek8Sfg
FxwQ==
X-Gm-Message-State: ACgBeo25VjTDVduzxYBQeZiaxYsKHqe7DI/7flkFgnpfuwwkUsf8i0kl
pHM9WeRu5eCcNv3uB7d8kxHI0NdZ/ZgFNKb4UqPmVg==
X-Google-Smtp-Source: AA6agR7lCoB9/y1yTlFbzgKSG6nBxE3xWn/5XsIZWIFm369jnjb5WxHYdTou1ZnbcRl1mAVDMltPLsYuiUwDGq1T4L8=
X-Received: by 2002:a05:620a:4412:b0:6ba:e53e:3485 with SMTP id
v18-20020a05620a441200b006bae53e3485mr16752631qkp.461.1661274623761; Tue, 23
Aug 2022 10:10:23 -0700 (PDT)
MIME-Version: 1.0
References: <CAMWUSyfthsE5Mk14K3Ly_EE10wcKB3eUA6MQib6Tgcv0ogAWPg@mail.gmail.com>
<CAFVMu-rbHhDWxb0kVi2zyPmU3JcXBc0ECOXQ+aytnGD2YOm8Tg@mail.gmail.com>
<CAMWUSyfyLU+CR8mCznvAgopdX+JzJUniFWNRYrq8x3Xz4AA4fA@mail.gmail.com> <CAFVMu-onW3K9cF3iS9YK7a6zQ+fi_OEvYskJfjxM1zaresZPRg@mail.gmail.com>
In-Reply-To: <CAFVMu-onW3K9cF3iS9YK7a6zQ+fi_OEvYskJfjxM1zaresZPRg@mail.gmail.com>
From: Mike Eastham <meastham@tecton.ai>
Date: Tue, 23 Aug 2022 13:10:13 -0400
Message-ID: <CAMWUSyeBL-Vru+DjPvr5wiaOHLUNo90fHgnSk_sCVrJ09dXG9A@mail.gmail.com>
Subject: Re: [PATCH] Add missing include path for MacOS platforms
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, Luis Holanda <luiscmholanda@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Thank you!
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 2FA7811EEDB
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 26 Aug 2022 07:27:56 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 25 Aug 2022 19:24:38 +0100
Subject: [PATCH bazel-zig-cc] Support configuring cache prefix with an
environment variable
Message-ID: <166149887610.13477.8916629882571649449-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
The user may want to build with `--sandbox_tmpfs_path=3D/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=3DBAZEL_ZIG_CC_CACHE_PREFIX=3D$HOME/.cache/bazel-zig-cc`
together with `--sandbox_writable_path=3D$HOME/.cache/bazel-zig-cc` to
put the cache somewhere else which can be shared between sandboxes.
---
toolchain/defs.bzl | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 965cf22..c8b5be0 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -79,7 +79,9 @@ def toolchains(
ZIG_TOOL_WRAPPER =3D """#!/usr/bin/env bash
set -e
=20
-if [[ -n "$TMPDIR" ]]; then
+if [[ -n "{cache_prefix}" ]]; then
+ _cache_prefix=3D"{cache_prefix}"
+elif [[ -n "$TMPDIR" ]]; then
_cache_prefix=3D$TMPDIR
elif [[ -n "$HOME" ]]; then
if [[ "$(uname)" =3D Darwin ]]; then
@@ -149,6 +151,7 @@ def _zig_repository_impl(repository_ctx):
zig_tool_wrapper =3D ZIG_TOOL_WRAPPER.format(
zig =3D str(repository_ctx.path("zig")),
zig_tool =3D zig_tool,
+ cache_prefix =3D repository_ctx.os.environ.get("BAZEL_ZIG_CC_CAC=
HE_PREFIX", ""),
)
if os =3D=3D "windows":
zig_tool_wrapper =3D ZIG_TOOL_WRAPPER_WINDOWS.format(
--=20
2.34.4
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=oJdQI8cGPBGSPfeNCNHqTUaYSI5F7OsizcNMwxO1CBc=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1661499911; v=1;
b=FKUvpqRZn48EuM1Clnn8smebPS97WzQbLOkOg8wIcLEIBANQpZ9+2cI+QFGpZn+p0kB4hp43
WRxr4O8CghhS4Ty/8rEuX2Mw0I7UJW0hLpoaktE5kp8ukyzylq7/NjlLqe6faPf7XGcBveG8e0P
OvtLuP/oFGH33g4NcokYJMrS/ndlYsT3cZHAkP8EIw/v81efpDBz9bHNnrK5/bjkA9epRbZIt/t
9Jgh/3evWvhwLgFP70HESwNXbb0d5TbLdT13cCvFfZI6DkI5DTF9ezrIGL1AR5x0n1CpJAHKm8i
TqP5Ubmcpj+W8yHasex7qDNCfWoRnywWujeDvk7jgIkiA==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 899C411EEDB;
Fri, 26 Aug 2022 07:45:11 +0000 (UTC)
MIME-Version: 1.0
Date: Fri, 26 Aug 2022 07:45:11 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CMFSKA1RSFMZ.2922PNT3HSAR6@cirno>
In-Reply-To: <166149887610.13477.8916629882571649449-0@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~kmicklas" <git@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
bazel-zig-cc/patches/.build.yml: SUCCESS in 17m14s
[Support configuring cache prefix with an environment variable][0] from [~k=
micklas][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/34941
[1]: mailto:git@kmicklas.com
=E2=9C=93 #831878 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/831878
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f46.google.com (mail-oa1-f46.google.com [209.85.160.46])
by mail-b.sr.ht (Postfix) with ESMTPS id 3E7C811EF6A
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 26 Aug 2022 08:08:40 +0000 (UTC)
Received: by mail-oa1-f46.google.com with SMTP id 586e51a60fabf-11ba6e79dd1so1144697fac.12
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 26 Aug 2022 01:08:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc;
bh=iOkmg5H8kC6sYToj5IN2l3Dx0MnC/eA4iGylZVpI+8U=;
b=juI1V+/7KoFUYCnp6qJsqHiqrggnyxOzleApuW80+dDeWg3U1e3/8GrdBsnN+Z2zDH
WKgYyG41aiCnB19lgl2UvyAPklUDBAEzBek6C+NDHxcE7s4hVyqhGjeW6KVTipaPnnul
EPGEU4Bca3hYjaFatlHrNm2aihtEc51g5/JAurf7MUyNQ+rS2Hq4V1nC9n3UbFke3kU8
lsw2ZufrcDOgMz2c+95qTORaUIe0HWSGvYRJkpiAbJ9E9awCeyK3nlOL3WTO/MUuTcR/
qzxf/FGIk+I3Bw2qdcXO+hd+TPUlylblp5JP2qUT7KbnaCsRq5zWL4Ek0z2CuE/XOVPr
pdxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc;
bh=iOkmg5H8kC6sYToj5IN2l3Dx0MnC/eA4iGylZVpI+8U=;
b=QMV1l7PnqWEZAcrKkEi/heXhp9gXq+ydD0y1tWe66Dvrm//kdZFNgBM83pw4loXxBk
vb1NFmpRtVdi6Zds/BYPq8Uja8ih6KtNDV9Mc2iPBSmYTdR2jlXLxh+9MtqC1YlOVwK9
J7ae17qPljNC8a/3czJEjURMkeEU7sE5+UEYpGL94yWrHtAFQ4WIi2TtAwvOKWJIoMFl
jvzquOqcOlGaV4l5HMXB0832JKPDbeRs2ziIVoFtxTOcKYCXmkXXmp8aOojZstG47O82
ZgsmWr+qsEpqSYxSAkQsnqwdx0Yo/0H9xgc6u4Mg5lf/XxZ8TVStYWFa7hX1Djo3qmaI
3UjA==
X-Gm-Message-State: ACgBeo2djEKtwyIXs6fHXZra+NWPHUOZYnbc4+CVw0uZeCctrXFu1GYG
HmbM/DZ5/KPJRGuN4v+SBaX4nD2cES9RodzU0Eoi2xwYmRM=
X-Google-Smtp-Source: AA6agR49KCQy6GE5DZjvLSA9n41ys6JQMPc19xV1D6a3nfU7M/3p6wpPG82CRH33KzzI2CvDPj0/LIB7z+qzRkly/Kk=
X-Received: by 2002:a05:6871:154:b0:11e:33b7:ddf7 with SMTP id
z20-20020a056871015400b0011e33b7ddf7mr1280671oab.116.1661501319573; Fri, 26
Aug 2022 01:08:39 -0700 (PDT)
MIME-Version: 1.0
References: <166149887610.13477.8916629882571649449-0@git.sr.ht>
In-Reply-To: <166149887610.13477.8916629882571649449-0@git.sr.ht>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Fri, 26 Aug 2022 11:08:28 +0300
Message-ID: <CAFVMu-oHOnGk7f3joqxPKcinZOR2C-PCrSc9C1dVz70a7Je8dQ@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc] Support configuring cache prefix with an
environment variable
To: "~kmicklas" <git@kmicklas.com>, Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
On Fri, Aug 26, 2022 at 10:28 AM ~kmicklas <kmicklas@git.sr.ht> wrote:
>
> From: Ken Micklas <kmicklas@uber.com>
>
> 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.
Thanks, applied.
Fabian, would you like to keep compatibility and do this[1] for Windows?
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc/commit/15f957859146deaf524bbdf1a4b537124b305405
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52])
by mail-b.sr.ht (Postfix) with ESMTPS id 9523611EF8C
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 26 Aug 2022 08:38:29 +0000 (UTC)
Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-11c896b879bso1254063fac.3
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 26 Aug 2022 01:38:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=to:subject:message-id:date:from:mime-version:from:to:cc;
bh=cpK8UTVU08tIWKMrxkziALp2cye54mdoDIYGSuig7lI=;
b=BnyG+7/NibGRdwnEkKMA8Z24uCtX8KPI9AU+Iw0HSPaO5woiyoPB9+4kIEu88+Wyqp
dQnK1RoTj59q/a8XbleyDu0ED0h2LH1QiFG03wp24DKpdInMP/LB+M2sQRAwLmYdQtCZ
Oig4/mZYS2KBha5d4SiyOnOktXSgpGzsUzbYVS6xT19vr488bzyo8mKXaWO5qZ+sPqy9
3wssbsxJn39eF34wSTH0yxX1zNvPm0rRuUutk1vilIENocSupzAk+mxNEgW0Q5fvgpRo
EcPdhmr6aX1rrqg9Gw9uz3sW9THQODNLh3W9lS1qMtrS7hoOGvfeaMvXcF/VEdaK+zX9
3iTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc;
bh=cpK8UTVU08tIWKMrxkziALp2cye54mdoDIYGSuig7lI=;
b=j8vgK6xND5v0H3bGEtHiqnINbNTq9D+tecbIsIy7diiJ8o6QYuhcv24XnwV+6fD/AU
egtbi5ZuxuQY85QJQjFqUbgfQ8gQaZBYPP5D2yLCdmgZXw6puXQYI2jV3Qtt2qggI7Io
k9JjaF0Blqxs620plGICSrM/L7qVIMUGvCU0SjAnYSZuV+m0MTD2d+apXyRoI75tiCey
216Yeti1OPuxbP2Asf1SlKN89IYwuraE9NqmzBRbynUgwwxPUSI4TnBG4LQQa3vNvEjW
AuoohUL+pyegdRbOn6iVCmRncuPTbbVfxf0GMZD4Mx1oQK8CxeLMx7J3IJ5U8yOWzwL/
ZW2A==
X-Gm-Message-State: ACgBeo33Be18p3r2ESaHUkqBqyfRXHON/gzItdvg2aq+D25tCgQYaoJQ
KaN/vmzRs/B8foB8OYjRK2KEVqCRFjwQQPupB88AeWHxE+4=
X-Google-Smtp-Source: AA6agR4/8eK+uJyRNxbPftkvtMpuWfhReKcdn/P9AtMI5C6tsCd1wyWNGN7gNbKnAcNo6kzCc6jddC16pH+520xbyUk=
X-Received: by 2002:a05:6871:154:b0:11e:33b7:ddf7 with SMTP id
z20-20020a056871015400b0011e33b7ddf7mr1318453oab.116.1661503108578; Fri, 26
Aug 2022 01:38:28 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus.jakstys@gmail.com>
Date: Fri, 26 Aug 2022 11:38:17 +0300
Message-ID: <CAFVMu-rUhnfR3_86szyfw2XkOZfMo5zcDuexzzpyxinKH8sM8A@mail.gmail.com>
Subject: bazel-zig-cc v0.9.1
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi all,
I just released v0.9.1. Changes:
- [Ken Micklas] Support configuring cache prefix with an environment variable
- [Luis Holanda] Add missing include path for MacOS platforms
This does no longer hardcode (on non-windows platforms at least) the
/tmp/bazel-zig-cc; you can point the cache directory elsewhere.
Zig landed two relevant changes to bazel-zig-cc:
- https://github.com/ziglang/zig/pull/12629 : add some resolv stubs.
- https://github.com/ziglang/zig/pull/12605 : artifacts of `zig cc`
are no longer cached by zig. This avoids double-caching for most
object files, saving disk space.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id B7DD711F00B
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 26 Aug 2022 09:07:05 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1661504822;
bh=9v0CfrUdSZh64OPu0b0vU8NJU5RI6W4mHvINxqb0E1c=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=FJ/llJ4/xiM8AwdzNSNPCAInHcbZ6+ouTOzpC6sAIPU9H2NgkqGt9YcLBlyJYqXRY
+6nvT5JKfdsXMUKGe2GFB2WgR3iFM1Ujoh/VhVhwJH+Cu59tuI0QPIabe7IbnO21vP
iNAUaa8jMteY+eGdjfPCMqtm7N2He+lVwvOqS/QA=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8;
format=flowed
Content-Transfer-Encoding: 8bit
Date: Fri, 26 Aug 2022 10:06:56 +0100
From: fabian@hahn.graphics
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~kmicklas <git@kmicklas.com>, ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc] Support configuring cache prefix with an
environment variable
In-Reply-To: <CAFVMu-oHOnGk7f3joqxPKcinZOR2C-PCrSc9C1dVz70a7Je8dQ@mail.gmail.com>
References: <166149887610.13477.8916629882571649449-0@git.sr.ht>
<CAFVMu-oHOnGk7f3joqxPKcinZOR2C-PCrSc9C1dVz70a7Je8dQ@mail.gmail.com>
Message-ID: <103137ae39e92e7032ed8b5998b5432e@hahn.graphics>
X-Sender: fabian@hahn.graphics
On 2022-08-26 09:08, Motiejus Jakštys wrote:
> Fabian, would you like to keep compatibility and do this[1] for
> Windows?
Sure, I'll take a look at it this weekend.
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 52F2F11EF56
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 27 Aug 2022 15:21:33 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1661613689;
bh=lk7Ka7YTW3+XNx+V5QY2I3th4yFnM/VkEh+FTAcP0t4=;
h=From:To:Cc:Subject;
b=L3rCigC4XvEQUaC8R4ErzWSfYdrUmAOvlddz/hXGxRJz91s8nJmQs9lXWkydR0dxU
VzOlZMR6ieOtdpKBqeLD508S5hdiR582WaE6GzCpi+C8tHjcAj9mCwqmXX1LdO6BLZ
U4TTRH0/m2XKA3iq4suI8XDl12ZWQ08PXVMqYNxM=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc] add cache prefix configuration for Windows
Date: Sat, 27 Aug 2022 16:21:08 +0100
Message-Id: <20220827152108.6422-1-fabian@hahn.graphics>
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
---
toolchain/defs.bzl | 30 +++++++++++++++++++++++++-----
1 file changed, 25 insertions(+), 5 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index a95f76e..53fd161 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -101,7 +101,20 @@ export ZIG_GLOBAL_CACHE_DIR=$ZIG_LOCAL_CACHE_DIR
exec "{zig}" "{zig_tool}" "$@"
"""
-ZIG_TOOL_WRAPPER_WINDOWS = """@echo off
+ZIG_TOOL_WRAPPER_WINDOWS_CACHE_KNOWN = """@echo off
+set ZIG_LOCAL_CACHE_DIR={cache_prefix}\\bazel-zig-cc
+set ZIG_GLOBAL_CACHE_DIR=%ZIG_LOCAL_CACHE_DIR%
+"{zig}" "{zig_tool}" %*
+"""
+
+ZIG_TOOL_WRAPPER_WINDOWS_CACHE_GUESS = """@echo off
+if exist "%TMP%\\*" goto :usertmp
+set ZIG_LOCAL_CACHE_DIR=C:\\Temp\\bazel-zig-cc
+goto zig
+:usertmp
+set ZIG_LOCAL_CACHE_DIR=%TMP%\\bazel-zig-cc
+:zig
+set ZIG_GLOBAL_CACHE_DIR=%ZIG_LOCAL_CACHE_DIR%
"{zig}" "{zig_tool}" %*
"""
@@ -152,10 +165,17 @@ def _zig_repository_impl(repository_ctx):
for zig_tool in _ZIG_TOOLS:
cache_prefix = repository_ctx.os.environ.get("BAZEL_ZIG_CC_CACHE_PREFIX", "")
if os == "windows":
- zig_tool_wrapper = ZIG_TOOL_WRAPPER_WINDOWS.format(
- zig = str(repository_ctx.path("zig")).replace("/", "\\") + ".exe",
- zig_tool = zig_tool,
- )
+ if cache_prefix:
+ zig_tool_wrapper = ZIG_TOOL_WRAPPER_WINDOWS_CACHE_KNOWN.format(
+ zig = str(repository_ctx.path("zig")).replace("/", "\\") + ".exe",
+ zig_tool = zig_tool,
+ cache_prefix = cache_prefix,
+ )
+ else:
+ zig_tool_wrapper = ZIG_TOOL_WRAPPER_WINDOWS_CACHE_GUESS.format(
+ zig = str(repository_ctx.path("zig")).replace("/", "\\") + ".exe",
+ zig_tool = zig_tool,
+ )
elif cache_prefix:
zig_tool_wrapper = ZIG_TOOL_WRAPPER_CACHE_KNOWN.format(
zig = str(repository_ctx.path("zig")),
--
2.25.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=5E6sxSf2ZXX1a2DrcA3hWyb5G48e8Oph2Nv321KR9mc=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1661614790; v=1;
b=O5riAorNq06QMAdbcpBR4oFYJ5fEQ5NgmTb1RVM4AVCoQ9we1LyL+FSilOPXC1pgix54A6u3
Bey7nRs4WQTBX9pIqcrfhhCQ7fFpZ07HG8dUoG2VmAMhknU+ojF1eajzEh98PPjw2PpPDW+gYhE
uQfUzL01Ibk9r123DFEA/1pBXaIjjayUcsHWfiiMejz4fR0e+cmDPxTRxrxhbZn/aqMjFT5IgTd
bVoAesVLCnPxHxbVpQ2iAAMkRY3uR6R4BbTVoZXFaDbPpcnfIeM811EmBYRqj0a2WJhbr3M89Bw
gu5rMALDRjqvbdXFxmS1AkmIMi+2kiBidvJtv39h9zcOw==
Received: from localhost (unknown [173.195.146.244])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id F17B711EF56;
Sat, 27 Aug 2022 15:39:50 +0000 (UTC)
MIME-Version: 1.0
Date: Sat, 27 Aug 2022 15:39:50 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CMGXA8U8IWOU.KNKJDWHU9ZK9@cirno2>
In-Reply-To: <20220827152108.6422-1-fabian@hahn.graphics>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "Fabian Hahn" <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
bazel-zig-cc/patches/.build.yml: SUCCESS in 18m16s
[add cache prefix configuration for Windows][0] from [Fabian Hahn][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/34959
[1]: mailto:fabian@hahn.graphics
=E2=9C=93 #832843 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/832843
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-ot1-f53.google.com (mail-ot1-f53.google.com [209.85.210.53])
by mail-b.sr.ht (Postfix) with ESMTPS id 6E23A11EF92
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 29 Aug 2022 11:46:50 +0000 (UTC)
Received: by mail-ot1-f53.google.com with SMTP id h20-20020a056830165400b00638ac7ddba5so5696434otr.4
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 29 Aug 2022 04:46:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc;
bh=x0lFNpP5L+ObV4+f6IFR3E0AjaW8Z93zTXfDBDuTNWA=;
b=KiD91MhGDTZ3PmvYRaOPYw/l92xYiBTbmwWaAIo6pdL7kT8dtBkULVLqPhl05rXyT8
8mzyvXawwV6XJSKWR8IxnJI6CH42HLQtYKNkzT/ZHjEzdnWiu8dzcekqSWmJOvdKwx5Z
mTDyBIXdP5s4SLiXFZIGBP2hEVx6xc2BmsQQV8YaYUdHlDdfJ/zdz5Vwn1pAgB98rLX3
lq42KlUtEJTFypFzg/dx7S7nv40fYePFbVVWcZ4UXpNCE7q40AMOV/HTnXNJtKMW16fS
N+XtahcOSjOD4CN+jllyqFqC22yOEvjyq0iEN23c2B3otVU3ImwLS6954MF1I5Wa0T2Z
6vtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc;
bh=x0lFNpP5L+ObV4+f6IFR3E0AjaW8Z93zTXfDBDuTNWA=;
b=hyj8QbDeF2MoHf3AK3q2N85zrt5YTygwRUPQmqSeImUVbLmdWE0pnP5DUI7xTWya3A
lfjsIB1Jt4quyklzZjhmFTd+qvf66i7Y5+GPHOBwIOOFbItZ1IuCOEmdQsq0Af+Zp9Tn
XfWwmNd/+nD8j5H5Xafxh0HrfxIiZDWgZ86oB7X9AEtMIZNLokyP/WRYW8ootGZWUmWA
oaaIDmGLoPpWlPkzJjfYOxsZCmmthCZOS5UTzJ0YnYTen8Q6mA2AvXtEvgGsjJ+U11nK
JJt5H2ay1ikjALfdPns7dgTDxZqzNMPozCcmSbcUDEEQKSNCBAGbgIZK9mxtxBleehjX
+Fiw==
X-Gm-Message-State: ACgBeo3bpdst8L9ChlFwXJoeRiXReFVVWDpOJ9oWkOrTMynkeswlB9gi
WfbdGNMX3ZWlriOwcL0w6x65NDNoXSIrJm49aDk=
X-Google-Smtp-Source: AA6agR7uTAmiG0/lWGZlTD1TXldy2nqE6VyscD8pIWS8rekNF7Pd201/NJu2wm2kS1Ma7vC2kJ7UEpzT2umsv5EQSO4=
X-Received: by 2002:a9d:6452:0:b0:638:8437:cbb3 with SMTP id
m18-20020a9d6452000000b006388437cbb3mr6246491otl.194.1661773609610; Mon, 29
Aug 2022 04:46:49 -0700 (PDT)
MIME-Version: 1.0
References: <20220827152108.6422-1-fabian@hahn.graphics>
In-Reply-To: <20220827152108.6422-1-fabian@hahn.graphics>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Mon, 29 Aug 2022 14:46:38 +0300
Message-ID: <CAFVMu-qBY8E4DOCub_BVzrf=WbfAVq=fXVUHXLSJ4o506MiyRg@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc] add cache prefix configuration for Windows
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
On Sat, Aug 27, 2022 at 6:21 PM Fabian Hahn <fabian@hahn.graphics> wrote:
>
> ---
> toolchain/defs.bzl | 30 +++++++++++++++++++++++++-----
> 1 file changed, 25 insertions(+), 5 deletions(-)
>
Hi Fabian,
I've applied your diff and cleaned up[1][2] the accumulated mess, then
pushed to main. If I broke anything on Windows in the process, please
ping me, preferably in the next couple of days.
Thanks!
Motiejus
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc/commit/e861c5b4bedb752adbdca9bfb863e9cc131c2a5c
[2]: https://git.sr.ht/~motiejus/bazel-zig-cc/commit/342b239bb90e3bd8c35e64d6bc14924600e980c5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f54.google.com (mail-oa1-f54.google.com [209.85.160.54])
by mail-b.sr.ht (Postfix) with ESMTPS id A21AB11EE64
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 30 Aug 2022 03:07:30 +0000 (UTC)
Received: by mail-oa1-f54.google.com with SMTP id 586e51a60fabf-11c5505dba2so13797028fac.13
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 29 Aug 2022 20:07:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=content-transfer-encoding:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc;
bh=pmtODwdqQDwI78SnRc0bQ6YRA+jpVfC0v5H1ES+2g+Y=;
b=OF9SmF0rDDVH92ayCFnFGcwb9lR+7vXfkClxCgAh/+EiVZRmT0DkQw4QhbJ9vZX00+
jeaH1AOpH27VfD4q0EJ7KKwT7CV/Lx7R0i8MdZsq9ME9Hbg47QqiIeaIra/h5aVyM2fW
CCmRhsGqY5ib6cYe66JPfe87BPMiYkJ5FHSXal6mwg6kvDrzOEmIN/zn7epAfsh9sJQr
jGNVzj0Fm+mVwhHFKnyBpeANCaC1c7Mv8ioNB31OAqZHoxZQG+pNvJ9PwnlqguWdqYVW
705TUgAc1JUONkDqJ7GB+jZ/1yviKAgbCUDjGqXE4R4ulyzhHKdkKkQ5kIUHAgceMlRG
zdnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc;
bh=pmtODwdqQDwI78SnRc0bQ6YRA+jpVfC0v5H1ES+2g+Y=;
b=x15/LvWFuYkKS7DM5dC40+iWd2xWUmdul6GLtzQQ64SwR5y+1s997UT+VxOoI5IhZR
9nVvA2HlQY3JTzFJ9On+ZAetAKaQ349+P5WTylpYeTbOqTWzynmb5G6RsdGs4WatyRv9
7cnCLsxg6Z3d+u+XSFVHFOzO2I6/DWL/53GqQn4CRHmZCKD4HyrFzubG+gnk9PHBKHCb
DWuuV0gLWXR8zeYSPq6+xzQe9hHsuyA0uU8quxF4kMoPEcUmKlLuuhlzjNYCvUxniwKh
Zgg8NY8E8AMZwoI98wyvG1JsS2Fonegh31+/Z4nF9NAI5W1/RJRDJz33xrZAWpQpPWEu
68ww==
X-Gm-Message-State: ACgBeo2u5YIpP/GUyFqsspH710RWRoQszzeAEhwmL/1miHLq/5ylHZ3a
Z6FsI84YxrikYZ0AMRgJcrEafRR4tbcSA9iWAW4=
X-Google-Smtp-Source: AA6agR55v3ScfR6sHQZpMvXk04tC0JAWONPI9kBI1sjrkln3tpvTDWi88xzzp++aj/yPpzLo7UzQxvokrxd1U2oTJPA=
X-Received: by 2002:a54:4899:0:b0:343:3f7c:713d with SMTP id
r25-20020a544899000000b003433f7c713dmr8372804oic.116.1661828849905; Mon, 29
Aug 2022 20:07:29 -0700 (PDT)
MIME-Version: 1.0
References: <CAMqOJriRYL5XfvJy883Tdk7XYMeZyLDbAeRWBW-XPimy=_gy4w@mail.gmail.com>
In-Reply-To: <CAMqOJriRYL5XfvJy883Tdk7XYMeZyLDbAeRWBW-XPimy=_gy4w@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Tue, 30 Aug 2022 06:07:18 +0300
Message-ID: <CAFVMu-o9PQqhA0tN_8qC8OhEu5Rh4_W+djkHibRBKnJHtz_z3A@mail.gmail.com>
Subject: Re: bazel-zig-cc + rust
To: Kevin King <4kevinking@gmail.com>, ~motiejus/bazel-zig-cc@lists.sr.ht,
Luis Holanda <luiscmholanda@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Tue, Aug 30, 2022 at 5:48 AM Kevin King <4kevinking@gmail.com> wrote:
>
> Hi Motiejus,
Hi Kevin!
> Thank you for the awesome bazel integration! I wasn't sure how to reach o=
ut so let me know if there's a better way.
Use the mailing list. :)
> I am working on a bazel+rust+wasm project and was looking to use zig to c=
ross-compile a rust web server to linux/{arm,amd}. The only problem I ran i=
nto with bazel-zig-cc was that the rust does not pass its env down to the l=
inker process, and so the #!/usr/bin/env sh line fails. I was able to fix i=
t by changing it to #!/bin/sh (and then everything worked perfectly!), but =
I understand that things like nix put sh elsewhere.
That was /usr/bin/bash originally, then /usr/bin/env bash, then I
removed the bashisms and changed to /usr/bin/env sh. Louis, does NixOS
suppot /bin/sh?
Kevin, why does /usr/bin/env sh fail? What is the error message?
That's quite curious, since that would imply /usr/bin/env does not
exist, or sh is not in $PATH.
> Can you think of any potential solutions that would work for both rust an=
d nix?
Let's try to find out.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oo1-f44.google.com (mail-oo1-f44.google.com [209.85.161.44])
by mail-b.sr.ht (Postfix) with ESMTPS id 85F4B11EEFB
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 30 Aug 2022 06:20:53 +0000 (UTC)
Received: by mail-oo1-f44.google.com with SMTP id w39-20020a4a97aa000000b0044dfa1ddc67so779282ooi.6
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 29 Aug 2022 23:20:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc;
bh=BZXDXnigXy9sHdrMQGkAVengDkQWZdmf25cJiZ7tIeY=;
b=xhTaPw16KtnH6Ft4mPIvcJScavzgcgMX350ASeYIjsyr3xFDlQQrHKMohW/WSbeiVf
ZbcysrNUfrc+htbRRahRXkXHuEq73p5fJj9bwfeAaLrYrPE1LgWQHIC9LF84CqzJkvUL
tiNJM2TBqniy+MhwkYwKrZ76VoIyuAoJbb89oq/GVYKigcBsAkPFwi04EfGKqzfQR73E
Rhvn/69dSQKosQZn0q1cT+Vgf2I081LcFnJogiRqaeI02Z2eu9Q0BEpVDjUYiJgdr4M7
CgSxce9lQ4ckNflVlZDqeTiLCcNBdNpGP0glKPCmdl5TuV2/VSlygewNYxnjdTAx6D6f
ryxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc;
bh=BZXDXnigXy9sHdrMQGkAVengDkQWZdmf25cJiZ7tIeY=;
b=cjnd28vIJl9TairMh30cl+ggllwEWXZ3wMq6FNZEmkYjXpdI0v/a5pc6ja29Mv5g0c
1+9UW1eGKd/uJWXwwKdhXzncw8u329nCZ3fyLcTERT/nr4NUHLXpOaF7BwPUToOXorRj
K+buedzuX4gY2wVC4TyQQNkkKja0fNdieu5LrmtV6ApvejEOuE0Fmn3MQ493yhfMXS85
Ly4HASOynKFUg98L5xcT49wr6ytfCvYOdvTZjpMXo9zngIAXBrn7yK82MD6WOrudP/3L
YTsMFWm8sAyW4u85h4t5w8KJzrbPVFJwi8ee/7s9AGhIp8hHJLi68aeVsi5ZsByluHQo
GYRg==
X-Gm-Message-State: ACgBeo0hJqcejYcQtsR0BhiLpohohqheud38RfRJd4IZxp2F/8t7nbbK
Xtqxi8mCAhC8RPBiKNP7i4XjZ6b8SALIy4H6ing=
X-Google-Smtp-Source: AA6agR66jEAcTuGpCWkbdeKQkqv8tMlrFGuWNZUOaA+lKorOiWWURc3c/TeuHMyCj+je2MsT5gEKHd19vK2KgTMc8E8=
X-Received: by 2002:a4a:ba95:0:b0:44b:499f:793d with SMTP id
d21-20020a4aba95000000b0044b499f793dmr6681165oop.68.1661840452852; Mon, 29
Aug 2022 23:20:52 -0700 (PDT)
MIME-Version: 1.0
References: <CAMqOJriRYL5XfvJy883Tdk7XYMeZyLDbAeRWBW-XPimy=_gy4w@mail.gmail.com>
<CAFVMu-o9PQqhA0tN_8qC8OhEu5Rh4_W+djkHibRBKnJHtz_z3A@mail.gmail.com> <CAMqOJrgjjF8rWZpca3YRrUM-j_wR_U-mmuZACN35wsvO6-hJKQ@mail.gmail.com>
In-Reply-To: <CAMqOJrgjjF8rWZpca3YRrUM-j_wR_U-mmuZACN35wsvO6-hJKQ@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Tue, 30 Aug 2022 09:20:41 +0300
Message-ID: <CAFVMu-pvNx+peQYdge_fvmSGrHDmn78VmoYwTxkDgMjbzfVAwQ@mail.gmail.com>
Subject: Re: bazel-zig-cc + rust
To: Kevin King <4kevinking@gmail.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, Luis Holanda <luiscmholanda@gmail.com>
Content-Type: text/plain; charset="UTF-8"
On Tue, Aug 30, 2022 at 6:58 AM Kevin King <4kevinking@gmail.com> wrote:
>
> The error I get is
>
> linking with `/private/var/tmp/_bazel_kevin/c782d9784982eee1866a2e1ae5f6f353/external/zig_sdk/tools/c++` failed: exit status: 127
> [...]
> = note: env: sh: No such file or directory
>
> This appears to mean /usr/bin/env is executed correctly, but env itself can't find sh. Linking succeeds when I change the zig wrapper to use /bin/sh directly, leading me to believe rust does not pass PATH down to the linker.
I asked in #zig:libera.chat, and Andrew pointed out that `/bin/sh` and
`/usr/bin/env` are the only two files in `/bin` and `/usr/bin`
respectively. So `#!/bin/sh` will work both NixOS and in your case,
since it's an absolute path.
I will make the change in bazel-zig-cc later today.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52])
by mail-b.sr.ht (Postfix) with ESMTPS id 5855911EEFB
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 30 Aug 2022 06:22:49 +0000 (UTC)
Received: by mail-ed1-f52.google.com with SMTP id z8so4025765edb.6
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 29 Aug 2022 23:22:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc;
bh=XooOH/gLGyV2e5XWgAs3frYuHQQeJNtnNXdT/SGMF9I=;
b=PPtO8/Sv5VZ8lhD8JW0GxmymEkrSfq1DuFPoCJgLQbfeoEKMfCfStcEz9EP8WZwN1+
OUZc2jHFhal9sE3eFMbFgbnh9tPIEXx63wqxFj5lcjp3JJKnCnFNFdziC2kVBvnxhgBC
WZLMkmB3ptUXilrvJWh3vff0lxrfaqiqr8koLUjCsivhBtZ3Qc6mlmlW2ELZpasm6utH
Yo/Op0tVH+hqXPjbouWBUEzUAmrQ+xj4fpy8WJTWyRq/OmUqOiPZwsdFr1plz3CcbKZ8
7oC2TbCs35m/brTZvvgbtOJxblbZ3SVCQAciRD0T0Mza7YSVJX+QD27m2NWazBvwdSHh
tSow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc;
bh=XooOH/gLGyV2e5XWgAs3frYuHQQeJNtnNXdT/SGMF9I=;
b=1cabWsKYFnHBcd1GTOz1sX8Wuk0sLPSwo1FyakSWglcakiicUKuyWeahm3e8u793BM
JeukRVPx6mvqxdM78i6Hmd3cuUD3YzTeA11fG/gNMT6lczTmEIGP94g2e9rL+gUfs+GO
cUEMS1f+N0ISpBm3CEuCrMJOT2aGN6UNTzeevgJFje+D4ISsDstQDD8HCxnkWGGeToDS
ahtiBpqtYdHi74b86/gkXBqABMnueLc/2kCc3PWhMO/2BTUx6pgkg9nEZ1dCvQlIfBFj
OF2ij1jvIYFWbXo3s5LJLQbZhOKEFmdpdS8/4EqUbQY2p8ni8ZFjKB/iuAai1NIfFAPY
jD9w==
X-Gm-Message-State: ACgBeo1VRhSCKOAXqt7EgfvqnHVuvgEsDdMguwWv+mRNNq6Nt078f/B4
PNzG/DpaLGd8Paz8o8v8dwbesLvdoQV62BPrG/Q=
X-Google-Smtp-Source: AA6agR6wgcjfMAclWe0wsDiBMKAo/xahWxNhKjmGBDD2p84jEgeKgSxwrbIfa1Q1ApMs04aL8satXp0rDwJL4yeveQk=
X-Received: by 2002:a05:6402:1694:b0:447:fa04:367b with SMTP id
a20-20020a056402169400b00447fa04367bmr13825978edv.138.1661840568280; Mon, 29
Aug 2022 23:22:48 -0700 (PDT)
MIME-Version: 1.0
References: <CAMqOJriRYL5XfvJy883Tdk7XYMeZyLDbAeRWBW-XPimy=_gy4w@mail.gmail.com>
<CAFVMu-o9PQqhA0tN_8qC8OhEu5Rh4_W+djkHibRBKnJHtz_z3A@mail.gmail.com>
<CAMqOJrgjjF8rWZpca3YRrUM-j_wR_U-mmuZACN35wsvO6-hJKQ@mail.gmail.com> <CAFVMu-pvNx+peQYdge_fvmSGrHDmn78VmoYwTxkDgMjbzfVAwQ@mail.gmail.com>
In-Reply-To: <CAFVMu-pvNx+peQYdge_fvmSGrHDmn78VmoYwTxkDgMjbzfVAwQ@mail.gmail.com>
From: Kevin King <4kevinking@gmail.com>
Date: Mon, 29 Aug 2022 23:22:37 -0700
Message-ID: <CAMqOJrgjV8LLmJ8uLZNGN9NXhsSKhHR=b1_CsW_DRG9fGoOrdg@mail.gmail.com>
Subject: Re: bazel-zig-cc + rust
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, Luis Holanda <luiscmholanda@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Oh perfect! I'm glad there was a simple fix :)
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=avilabs-is.20210112.gappssmtp.com header.i=@avilabs-is.20210112.gappssmtp.com
Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48])
by mail-b.sr.ht (Postfix) with ESMTPS id B2FDD11EF2F
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 9 Sep 2022 19:52:51 +0000 (UTC)
Received: by mail-lf1-f48.google.com with SMTP id z25so4511554lfr.2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 09 Sep 2022 12:52:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=avilabs-is.20210112.gappssmtp.com; s=20210112;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date;
bh=k6q6Je/61wR2hy7UvCPDU+RUtdEWbu+6TDxSehTKHFM=;
b=J5Nc4Aw5EMDQuUVgC4b4MoOFeUxIMs91RjL7RqJQMJ0qIMzIs4v5+N41DW+oL0R99m
RcruqkrYSsuowwfxha0Hc4b255hLuTajksEpaw/6uUvBSFC5maZtQXKNm0h7pj2lnwiZ
6VSCo9EoHm64qgmZotg2RFNJO7FwRFwUWCEY2yNPnxHdeB1sWg+c7D/pDlaAntaVvzga
18ExK7p/hwf85L5RpWyQF5z2r+bLjEVYChYBbzvJDLAOSKs993JEdTYompxDi07SlH2D
hMxIK0PWa0rUM6VrDaGd14b91QyYKCdzbSovOJuU9woskctVb5Y4G/1iS8MaxxUvRcw3
1oMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date;
bh=k6q6Je/61wR2hy7UvCPDU+RUtdEWbu+6TDxSehTKHFM=;
b=US6aSzUU93bjMXRyKb2wPjah2ZBb+UfohNSYOiMFggxKsgZngijKgc2seJAkcvml4e
tmohhAjskpEE/1NGh6d/pFPACc9P1Qr/u5mE4bP+EElq3mpAT29SL/lcag2FHX62V8Ne
gWwDmTThv8/KMzqVVi+dw2eBP0ZlLSEu6jIy68gNv6h1DF+/PvaFz3TSWyOYLMhDKN9D
bawlpiiqpL0uM6v6zGf5efym4v3WVVi4P9tGsmQsQHQX/k5rqytu0ezAf/QAdJvHcyqO
o8mcPymzacVQRcn/a2N3s1fv4Sfqi6bUD/uN/eUnBDjBZ9mJTMsCvkxOlv4GVaeiGiCT
8zkA==
X-Gm-Message-State: ACgBeo343XM4YwO9XVCrLC2otZsHPesSRbOwEi56GVcw+Jk8PFLNCZpd
qqKM7XElrphyTSVOTqimm6f4gTiS/ck/Va78RrUCYtay/gokkNYw
X-Google-Smtp-Source: AA6agR5pF4K8tov2jp1OBxXHJR9+Yl00UbYc/kjXbNunQkTsYqxNFsMBOWTKqpZ8xwSRhbDwXPgCEQ/c/y3/hP3fUYI=
X-Received: by 2002:a05:6512:e99:b0:492:cf19:875 with SMTP id
bi25-20020a0565120e9900b00492cf190875mr5124812lfb.690.1662753169952; Fri, 09
Sep 2022 12:52:49 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?B?RGFuw61lbCBQdXJraMO6cw==?= <danielp@avilabs.is>
Date: Fri, 9 Sep 2022 19:52:39 +0000
Message-ID: <CAOY-u7ZbrLf8fiwS=BQLN8D4V_qUVpJGNfThcKYaND8gA2n3Dw@mail.gmail.com>
Subject: Using with rules_rust
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
I've been trying to build our Rust code with these rules as the C/C++
toolchain but I'm encountering an issue.
When I try to build an project that depends on
https://crates.io/crates/async-trait I get the following error:
/workspace/bazel_output_base/execroot/monorepo/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/cargo__async-stream-impl-0.3.3/libasync_stream_impl-1922333755.so:
cannot allocate memory in static TLS block
There is a similar issue posted here when using cargo-zig:
https://github.com/messense/cargo-zigbuild/issues/4
I'm having a hard time figuring out if it's possible to fix this using
rules_rust and these rules. I was wondering if
anybody in this mailing list had found a way to get past this issue?
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f50.google.com (mail-oa1-f50.google.com [209.85.160.50])
by mail-b.sr.ht (Postfix) with ESMTPS id 3006F11EEC6
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 10 Sep 2022 04:52:37 +0000 (UTC)
Received: by mail-oa1-f50.google.com with SMTP id 586e51a60fabf-127dca21a7dso9126500fac.12
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 09 Sep 2022 21:52:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date;
bh=9HFx1iNsEtN1WgL1Rmqux1snsjnyIzqx9MPUZhjlwp0=;
b=CzluCGkxLbwtAgeeM9V1YZ8vWMoe5g1w5F7T8hTQvpRBkeGZNJrVdJagkyYQXWoS3c
R1wEAxNP8RtPK6WYRHWpbx8mIo18ZMsIwSoveWnjcn+7TVxfl+cK/kcp+pXDZquFQrPT
CaHfS+p+xAAgmkgp8W1deJURMvg+wOa2Eg+4DvHvgxyjFayf3VwaZnML9iywJYTia1w9
qlKEflhGr4jwxFwtldQyCLiCIeiu26JhO/gmXdHfGnt/d3GifW+Pp5Kso1fO496vTvLr
ashhFgYchRNMcnTCk45v83Jl/GMaZ5q+jJHGqmz3zLD+iSJZxX8QJ5TNvmL/pR4OA6yE
gaEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date;
bh=9HFx1iNsEtN1WgL1Rmqux1snsjnyIzqx9MPUZhjlwp0=;
b=CkyfJCTcQ9d5xTRBwuTqRYW+rQnAYzkECVyrMohECW2Ej8NacS75srZLef0Kb1qOpo
h+QQ2/+TT16/o3ZjxXGoUZ842ZsWGdksSuD1aLevx+rQkUNKVRCKIYWbU8TAz7ZFIsKn
yRj9gpsEPgrLw/GDcCKR+v+NyBYPNVfPmcpLQLndaf82FGsmbPabM24WXr6hiY04XREx
Kq5tb9/kROo+9PHgNaTbkikzmW4+yf9eyydxWKSg2usy8/F9jS6wunShuuB0Px7TJWI+
6IwI/br59WDHLFyT1smskDMUm6lP2gdNgxOz7O7Ux/Ndq9n14lFpe1XLQkvc1y/VRdMS
PX0w==
X-Gm-Message-State: ACgBeo2KTT0mYnqV0e5xVgbgavQ3DNqAL/kAN11bzig399bsMsj5ZMjV
oiBIpxcupJ+ZXbtBWQ6AYngIBUJoQzvcrCu9ziyXOzEUYgU=
X-Google-Smtp-Source: AA6agR4Xpn2N0vw+iHwycUodkZWakZqTWEzZkR6l1unqTYnAxZVxJWvDFyujPDQG2RgrmmJrQvYOMApDhDBswY6NwOE=
X-Received: by 2002:a54:4899:0:b0:343:3f7c:713d with SMTP id
r25-20020a544899000000b003433f7c713dmr5001244oic.116.1662785556272; Fri, 09
Sep 2022 21:52:36 -0700 (PDT)
MIME-Version: 1.0
References: <CAOY-u7ZbrLf8fiwS=BQLN8D4V_qUVpJGNfThcKYaND8gA2n3Dw@mail.gmail.com>
In-Reply-To: <CAOY-u7ZbrLf8fiwS=BQLN8D4V_qUVpJGNfThcKYaND8gA2n3Dw@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Sat, 10 Sep 2022 07:52:25 +0300
Message-ID: <CAFVMu-qx2RSRKRBM86BVukecjBE-K1KL5ooSRtLW7uGxzAMe1w@mail.gmail.com>
Subject: Re: Using with rules_rust
To: =?UTF-8?B?RGFuw61lbCBQdXJraMO6cw==?= <danielp@avilabs.is>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Fri, Sep 9, 2022 at 10:52 PM Dan=C3=ADel Purkh=C3=BAs <danielp@avilabs.i=
s> wrote:
>
> I've been trying to build our Rust code with these rules as the C/C++
> toolchain but I'm encountering an issue.
> When I try to build an project that depends on
> https://crates.io/crates/async-trait I get the following error:
>
> /workspace/bazel_output_base/execroot/monorepo/bazel-out/k8-opt-exec-2B5C=
BBC6/bin/external/cargo__async-stream-impl-0.3.3/libasync_stream_impl-19223=
33755.so:
> cannot allocate memory in static TLS block
>
> There is a similar issue posted here when using cargo-zig:
>
> https://github.com/messense/cargo-zigbuild/issues/4
>
> I'm having a hard time figuring out if it's possible to fix this using
> rules_rust and these rules. I was wondering if
> anybody in this mailing list had found a way to get past this issue?
Hi Dan=C3=ADel,
Both cargo-zigbuild and bazel-zig-cc are thin wrappers on top of zig
cc, so the underlying mechanism (zig cc) is the one to look out for.
The best course of action would be to make a minimal example (e.g. a
single test.rs) and peel off the build layers (bazel-zig-cc or
cargo-zigbuild; whichever is easier) and file an issue in ziglang/zig.
If you have a minimal rust example that exposes this problem, "rustc"
and "zig cc" commands to reproduce it (no cargo or bazel), that will
go a long way for whoever is interested in picking this up to
understand what happened and fix this.
Hope that helps,
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f47.google.com (mail-oa1-f47.google.com [209.85.160.47])
by mail-b.sr.ht (Postfix) with ESMTPS id 3EFB511EF19
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 12 Sep 2022 10:53:05 +0000 (UTC)
Received: by mail-oa1-f47.google.com with SMTP id 586e51a60fabf-11eab59db71so22216913fac.11
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 12 Sep 2022 03:53:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date;
bh=y7WyWF2RZq+b4qTej7JMdDJ7rSe1MtThqFCbkZDFbIc=;
b=iXA8gyCcbj7tRy8rKJtcgvrUoV2fVm9ly2XmKeMOfzR0haPxSF2pIXQjn+aM42RKo/
PKZfby9a3PS0Df6BttZdGccbU4Kln6WKNVvWnLfTjc/co4K+aSz1sWxcaxGCJTa8+pR0
IbM65+87CHjlYuAOxd6IeYLAIJ5SEIkmeALofCSpApcueC5/FK7U8Qjof8jyaa9PXNze
2K4GaXTeoYVu1R9l1xHEa6wP5JiAiMbmsiMsQpTBuQw6EOPwCW1SOURRvikEQw0e86a/
7ZN5nq4r/aLRvjIxeRiZ1wvzBQWW7W5kfirl9nmIvqU/3vZA/la6I1DwptAgar6NyhEz
epFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date;
bh=y7WyWF2RZq+b4qTej7JMdDJ7rSe1MtThqFCbkZDFbIc=;
b=mNACTqZ44vMFX5n7RhI31sJDBug9jXT7WG80GHwawWZBzI/o7470wPfQcDNsdvdy5g
kFkIpe3bTo0evJ59ablMR1QYxsUD80Gr5OgDvpAAbiLbt31YXcgwY8nT8RK2vz16Hwpf
QWfozM+crFV4/mvn2j0FpOEwm4uSiPk1rPcmMYCHjlNC/wxzZ0ibKLTl08//8fN5WQwv
YhPJ91TelNnhtd9BV+GbcliyUkronpFrNI/utEqE68B8E2iD6mnkfPb3lc1B7ct0sZFo
9ZBCTD3Ns++KkP5OBz7EJ8s+tuOM2phBfic6UY6azNsVbcVHScEAvc6L1evZMDQtqwtv
TJXw==
X-Gm-Message-State: ACgBeo3q+klR5NGQgrnqa8cx5RaUQ1WxTtKSZPMOeyzlc/Stk5r42mrY
BBTFH3xwWd+R+TYZT1JWsg8h4vIMlfuptpyjXct0eG08Cbw=
X-Google-Smtp-Source: AA6agR45Jfu+x6EJ9u8wdc1QO+Kx1hzxyFC9/kxmvj+JJjfX4M5ZyJod16rHp73TKgB3tX4+I9d6rSLLmdVO6wowoNo=
X-Received: by 2002:a05:6870:b14f:b0:127:d4f1:6a90 with SMTP id
a15-20020a056870b14f00b00127d4f16a90mr11274750oal.116.1662979984463; Mon, 12
Sep 2022 03:53:04 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Mon, 12 Sep 2022 13:52:53 +0300
Message-ID: <CAFVMu-qPoYBqA0UJofqmkeJ-D0ZU4P-rH8Rh8L78zhLRyJdNnQ@mail.gmail.com>
Subject: bazel-zig-cc v0.9.2
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi all,
v0.9.2 brings in some changes w.r.t. BAZEL_ZIG_CC_CACHE_PREFIX:
- make it work on Windows: thanks Fabian Hahn.
- make repository_rule depend on it, so artifacts that depend on it
get invalidated. Thanks Laurynai.
And makes bazel-zig-cc work on NixOS. For that I thank Luis Holanda
and Andrew Kelley.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f51.google.com (mail-oa1-f51.google.com [209.85.160.51])
by mail-b.sr.ht (Postfix) with ESMTPS id EB5F911EF19
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 12 Sep 2022 10:56:50 +0000 (UTC)
Received: by mail-oa1-f51.google.com with SMTP id 586e51a60fabf-11e9a7135easo22275719fac.6
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 12 Sep 2022 03:56:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=content-transfer-encoding:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date;
bh=uMuUfBSSCorRcC5QjiCJo6Ia2ic2flgrpVRvIq8kKjc=;
b=VB+1hU0yZNXqxISFUf8zgbD6+lm0/Ti8ASDyS7ZzhYwIpQQBDZmjfGddt9wGx7jmyv
qFKkIJ/rst66/WBqNFdtaky1FevV6iNHmJ6vrI6u1H/HhIdk0mY5UmZsu57kQ3qFkCzh
Ke22B/iFc1W/JRntivIUq7og91pKuz/ZplPfzfXwIi6i3P52uG39ToxE7W4cXUMtZUqQ
HlJBsu3+sE2uBkC9OxV2JhJ/stqzw7jgoHOxFbxqzlhwMlwSSbGMPXLS0SfdZ2/hqqzS
NEpoRYBOL2Gy+W6j3zmBFTKmroIDHkZVRcDFybFt2EXHxaq+F133m+ZJ/AZc1p32ILMN
TaGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date;
bh=uMuUfBSSCorRcC5QjiCJo6Ia2ic2flgrpVRvIq8kKjc=;
b=p6Q1ti2pL4HiJM8h4sstjk80S0V3DWOIn2RF+xkfVIxVWcPl0aNXpm4lXxo+HAAP3x
bn06E8iUWc7YylyzVeEaf3WLtG4FB8nkIuEluKO863wrVSvDhD40/VD8bn5Nrf247Pgt
NCG2+SGY8MjQUL6W7T6A4Qo2AqgH1s/3rZlSNZQRvemsRkbYBprUkKisyfq7NCFaQ1Qe
p491MJEKSi/hP8qQ++UF+PPaJpCGP/EvCmnz1NULALCK0stqoFHtUW9slphVdinwjlve
AqNXAkaMWY9JKU+OflFCbaR69bdPP7Pej0qVCkVSL2MKK31TvMXKBfyJULPlthGIfM+L
d0DA==
X-Gm-Message-State: ACgBeo2WfhCGxmr6U/POuvGcGsAQCh2M+CrX4CSJsbuuboYXYM30N1zn
Uzp1Yp3Mngmy1oB+MeFd0dn60Cbu1rhsmf9Mi73vDPzd9Xs=
X-Google-Smtp-Source: AA6agR6Jbh4Va0PTc0LMi/JpiV6/lYECI44Yce3tWI+dilrKD/LWRYxDENjswmwBU9pC6Y/CzppyzHAFrDk/GJ2ILYM=
X-Received: by 2002:a05:6870:b14f:b0:127:d4f1:6a90 with SMTP id
a15-20020a056870b14f00b00127d4f16a90mr11280348oal.116.1662980210247; Mon, 12
Sep 2022 03:56:50 -0700 (PDT)
MIME-Version: 1.0
References: <CAFVMu-qPoYBqA0UJofqmkeJ-D0ZU4P-rH8Rh8L78zhLRyJdNnQ@mail.gmail.com>
In-Reply-To: <CAFVMu-qPoYBqA0UJofqmkeJ-D0ZU4P-rH8Rh8L78zhLRyJdNnQ@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Mon, 12 Sep 2022 13:56:39 +0300
Message-ID: <CAFVMu-p0GguWV_7g_DFHgTC27PgUSp7ayxtPda4LSLnY_3VU8Q@mail.gmail.com>
Subject: Re: bazel-zig-cc v0.9.2
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Mon, Sep 12, 2022 at 1:52 PM Motiejus Jak=C5=A1tys <motiejus@jakstys.lt>=
wrote:
>
> Hi all,
>
> v0.9.2 brings in <...>
One thing I forgot: if you used musl, bazel-zig-cc used to add "-s -w"
to LDFLAGS. That was wrong, added by me a while ago[1]. This is what
happens when I don't get code reviews. Well, it's fixed now: the musl
binaries produced by bazel-zig-cc will no longer be stripped.
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc/commit/58a04fbfec10d98ac5cd8e=
e44df441146085b780
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 9504811EF24;
Thu, 15 Sep 2022 14:40:41 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 15 Sep 2022 14:40:41 +0000
Subject: [PATCH bazel-zig-cc 0/1] Fix include root path for macos-aarch64
MIME-Version: 1.0
Message-ID: <166325284132.32481.3819031653685599117-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Despite the odd inconsistency between OS/arch, the others appear correct
from a latest nightly.
Ken Micklas (1):
Fix include root path for macos-aarch64
toolchain/defs.bzl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--
2.34.4
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id B11A311F88A;
Thu, 15 Sep 2022 14:40:41 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 15 Sep 2022 15:37:35 +0100
Subject: [PATCH bazel-zig-cc 1/1] Fix include root path for macos-aarch64
Message-ID: <166325284132.32481.3819031653685599117-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
In-Reply-To: <166325284132.32481.3819031653685599117-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
toolchain/defs.bzl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 71214f6..f72412d 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -70,7 +70,7 @@ def toolchains(
host_platform_include_root = {
"linux-aarch64": "lib/zig/",
"linux-x86_64": "lib/",
- "macos-aarch64": "lib/zig/",
+ "macos-aarch64": "lib/",
"macos-x86_64": "lib/zig/",
"windows-x86_64": "lib/",
},
--
2.34.4
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=DlXGYPf+otWnejEClYXaLB1lSlI9vZSkseK4QiVLjAc=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1663253908; v=1;
b=K8cl/QZ97rhbTIO0JBn7X2bSeGAoSI7gfKUMBf7ufvfeEWPNxm8sAGkNABF2vA124Wk2lJHr
eBSNmFz/VElj1t25dGJEsayWT93HkToqMQteeUip1bEE0iOSlCZYrOBnwkEm50XtyCBZFiIlEbO
oZYpdgZ2lRGF6vpZhGnlBSKeSqm5kCaWXmIoRMH5l8lQLeoKb4PQTRCOGNI+Jybme8r6d/26OuO
QSKRvF8g8L93upEzaElPBmQDfItO8Of+30qpeIUEnGPq06Y/cXjMvYinluo6otDFTuztc49S7Kc
D7CQAdLJfoDPqBGrq6ovD3Jk8rsST5D4OKPa+pcuXGsCw==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 0F9C111EF24;
Thu, 15 Sep 2022 14:58:28 +0000 (UTC)
MIME-Version: 1.0
Date: Thu, 15 Sep 2022 14:58:28 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CMX2AWW0QUR0.37NS5VEH6XEFC@cirno>
In-Reply-To: <166325284132.32481.3819031653685599117-1@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~kmicklas" <git@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 17m45s
[Fix include root path for macos-aarch64][0] from [~kmicklas][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/35334
[1]: mailto:git@kmicklas.com
=E2=9C=93 #845320 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/845320
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id C0EC011EEDB;
Thu, 15 Sep 2022 18:30:04 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 15 Sep 2022 18:30:04 +0000
Subject: [PATCH bazel-zig-cc 0/1] Move Label dependencies above archive
fetching to reduce restarts
MIME-Version: 1.0
Message-ID: <166326660455.1440.4931108525708331193-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Before this, when running the repository rule, you might notice the
Bazel output say it was extracting the SDK archive ~7 times. Each time a
label dependency is used, it would restart the whole rule with the new
dependency. Now, the restarts technically still happen, but are not
noticeable since they occur before doing any substantial work.
Ken Micklas (1):
Move Label dependencies above archive fetching to reduce restarts
toolchain/defs.bzl | 53 +++++++++++++++++++++++++---------------------
1 file changed, 29 insertions(+), 24 deletions(-)
--
2.34.4
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id DE95911EF24;
Thu, 15 Sep 2022 18:30:04 +0000 (UTC)
From: ~kmicklas <kmicklas@git.sr.ht>
Date: Thu, 15 Sep 2022 19:20:21 +0100
Subject: [PATCH bazel-zig-cc 1/1] Move Label dependencies above archive
fetching to reduce restarts
Message-ID: <166326660455.1440.4931108525708331193-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~kmicklas <git@kmicklas.com>
In-Reply-To: <166326660455.1440.4931108525708331193-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: kmicklas@uber.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
toolchain/defs.bzl | 53 +++++++++++++++++++++++++---------------------
1 file changed, 29 insertions(+), 24 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 71214f6..ceddb70 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -170,6 +170,35 @@ def _zig_repository_impl(repository_ctx):
"host_platform": host_platform,
}
=20
+ # Fetch Label dependencies before doing download/extract.
+ # The Bazel docs are not very clear about this behavior but see:
+ # https://bazel.build/extending/repo#when_is_the_implementation_function=
_executed
+ # and a related rules_go PR:
+ # https://github.com/bazelbuild/bazel-gazelle/pull/1206
+ for dest, src in {
+ "platform/BUILD": "//toolchain/platform:BUILD",
+ "toolchain/BUILD": "//toolchain/toolchain:BUILD",
+ "libc/BUILD": "//toolchain/libc:BUILD",
+ "libc_aware/platform/BUILD": "//toolchain/libc_aware/platform:BUILD",
+ "libc_aware/toolchain/BUILD": "//toolchain/libc_aware/toolchain:BUIL=
D",
+ }.items():
+ repository_ctx.symlink(Label(src), dest)
+
+ for dest, src in {
+ "BUILD": "//toolchain:BUILD.sdk.bazel",
+ "private/BUILD": "//toolchain/private:BUILD.sdk.bazel",
+ }.items():
+ repository_ctx.template(
+ dest,
+ Label(src),
+ executable =3D False,
+ substitutions =3D {
+ "{absolute_path}": _quote(str(repository_ctx.path(""))),
+ "{os}": _quote(os),
+ "{zig_include_root}": _quote(zig_include_root),
+ },
+ )
+
urls =3D [uf.format(**format_vars) for uf in repository_ctx.attr.url_for=
mats]
repository_ctx.download_and_extract(
auth =3D use_netrc(read_user_netrc(repository_ctx), urls, {}),
@@ -200,30 +229,6 @@ def _zig_repository_impl(repository_ctx):
content =3D _fcntl_h,
)
=20
- for dest, src in {
- "platform/BUILD": "//toolchain/platform:BUILD",
- "toolchain/BUILD": "//toolchain/toolchain:BUILD",
- "libc/BUILD": "//toolchain/libc:BUILD",
- "libc_aware/platform/BUILD": "//toolchain/libc_aware/platform:BUILD",
- "libc_aware/toolchain/BUILD": "//toolchain/libc_aware/toolchain:BUIL=
D",
- }.items():
- repository_ctx.symlink(Label(src), dest)
-
- for dest, src in {
- "BUILD": "//toolchain:BUILD.sdk.bazel",
- "private/BUILD": "//toolchain/private:BUILD.sdk.bazel",
- }.items():
- repository_ctx.template(
- dest,
- Label(src),
- executable =3D False,
- substitutions =3D {
- "{absolute_path}": _quote(str(repository_ctx.path(""))),
- "{os}": _quote(os),
- "{zig_include_root}": _quote(zig_include_root),
- },
- )
-
zig_repository =3D repository_rule(
attrs =3D {
"version": attr.string(),
--=20
2.34.4
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=ByBs1FjHk1lGGcjd5gBmc72N92u3A0Qyh2mWYaae3Oc=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1663267619; v=1;
b=IL5AcdNK5WhcdRq495tuR+383OSpYDpc5gkuZ36a3pT0xdKmmKPGlevKY5pFcsxv8JK8gG/3
ZcgEEgdxOQSoZJD2CuTaBiHkIuKRmwNgFjiTyjgJWREMdtG158ncPcxZScJz9y06GttomneFdJt
Nsn3I4UKULj0n3ZhJiFyN+p9TPMkKUNgoglu9v5QtO77putQ3b/oi/osUUXPJcjiQProXKwT0Ag
SZgDiV5KYitEGx5qTv2V/XFxfF1nR4faZ1UHFXDlbmXEYnjljWpbNKWBT8TDpG/r0pO7bnKJJEz
SK/uafrDdYNEpPasImE1yNElrYSFy1F7MwjZq1BRBnpkQ==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 4920011EEDB;
Thu, 15 Sep 2022 18:46:59 +0000 (UTC)
MIME-Version: 1.0
Date: Thu, 15 Sep 2022 18:46:59 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CMX75VTDNA40.2UGZNNDOW0UVW@cirno>
In-Reply-To: <166326660455.1440.4931108525708331193-1@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~kmicklas" <git@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 16m52s
[Move Label dependencies above archive fetching to reduce restarts][0] from=
[~kmicklas][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/35345
[1]: mailto:git@kmicklas.com
=E2=9C=93 #845473 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/845473
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oo1-f43.google.com (mail-oo1-f43.google.com [209.85.161.43])
by mail-b.sr.ht (Postfix) with ESMTPS id 7666B11EEDB
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 15 Sep 2022 19:20:39 +0000 (UTC)
Received: by mail-oo1-f43.google.com with SMTP id l40-20020a4a94eb000000b00472717928b5so3152400ooi.1
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 15 Sep 2022 12:20:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date;
bh=cIrQy9EdHerBVaY7Dvc4XNQfhltLnbs0FHVFNRu23eM=;
b=1T1nysZ869dF1ANT3HcsxAOYKtoyROr7N1psifQ9SlLPA+cSvJz+ifbf56qdOZQ1yc
Km/R4eMYlifGrMDd76VikiiRbuIG30LNURWXS8L3EH8+U+A1Ob9M5cLlmvlJzNz33RxT
jU3yKRhpVMQF0LlCWlZRPxvNl3f5IT2dkC3mSPOAYzKv+BNa5/lNBVG1zn00h6kh0RdV
7H6bR6X4UUIN5Kg9TbVGpejRCk9MXMEhfs6xuX/ex+xcESCXUewYOHuXPjVJjqByMDxl
ioa1xcLI1j+HZHa+N5nNHMbzy62hWx9dPaqm2z5T0/VvJP0zQtmj9mPALBneduYyk5Y+
pHwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date;
bh=cIrQy9EdHerBVaY7Dvc4XNQfhltLnbs0FHVFNRu23eM=;
b=S+tZImHAV/bTgE4PJsKS5gCTSBnUltknmV6XRw1x7N4IgSL/oXsSE+lflO1mN6QyNH
g3yltZZ6V1eNRpMSEB+kw51rzugVJk3H2OY64b77tRoFgk/+shPja7n/016pi1arD8/2
KG+0rXm7lX1c8bRXeWGBt5JQcb8hPXr0bEiM9/Ejs/Vgl+4cxcCBA4HQv3diExWGLO7t
Mk9JHsMJ89uFkPrpLmZQ9+mYLI1bj56cEUnmY6N/QGAO76T8ANfwRVqLxptTYodkuIv1
R0TX4z89/T4gPrXaxvKU3HzNcJe1pOZvusFzoBZlricumsn9Yq5tnQ42Jq3MW5NIoRr7
5Diw==
X-Gm-Message-State: ACrzQf29AUKb+rNRu+DEkxOe6AbvWepSitQPfJuxNXhLzImXxxbGnCJ7
AjQ05MLxGW9EXOeG/x4LzmbEz1N9/XoVod8uJkA=
X-Google-Smtp-Source: AMsMyM4vZhBMhSN2kpNqJx1evgIjbRUJkxPg4vHEZ00Ltfgt1EpaMjyj2BYKLM5A/FznCEo5afdxlk/3hHH+eVtJHjI=
X-Received: by 2002:a4a:aa48:0:b0:475:2ead:9e35 with SMTP id
y8-20020a4aaa48000000b004752ead9e35mr654566oom.68.1663269638692; Thu, 15 Sep
2022 12:20:38 -0700 (PDT)
MIME-Version: 1.0
References: <166326660455.1440.4931108525708331193-0@git.sr.ht> <166326660455.1440.4931108525708331193-1@git.sr.ht>
In-Reply-To: <166326660455.1440.4931108525708331193-1@git.sr.ht>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Thu, 15 Sep 2022 22:20:27 +0300
Message-ID: <CAFVMu-rBE6jZQWi0tjhrFqgL-ZjnsHnS9TjFv94JShaFOeVYiQ@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc 1/1] Move Label dependencies above archive
fetching to reduce restarts
To: "~kmicklas" <git@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, kmicklas@uber.com
Content-Type: text/plain; charset="UTF-8"
On Thu, Sep 15, 2022 at 9:30 PM ~kmicklas <kmicklas@git.sr.ht> wrote:
>
> From: Ken Micklas <kmicklas@uber.com>
>
> ---
> toolchain/defs.bzl | 53 +++++++++++++++++++++++++---------------------
> 1 file changed, 29 insertions(+), 24 deletions(-)
Applied, thanks!
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f51.google.com (mail-oa1-f51.google.com [209.85.160.51])
by mail-b.sr.ht (Postfix) with ESMTPS id 0AE1B11EEDB
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 15 Sep 2022 19:23:53 +0000 (UTC)
Received: by mail-oa1-f51.google.com with SMTP id 586e51a60fabf-1274ec87ad5so49012618fac.0
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 15 Sep 2022 12:23:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date;
bh=3ZUSupMUH6E05gWVqE9yBfHWRhcg+RWdYQR0rqWPlKE=;
b=NlG7X7sAgkihr8jLH40LSPCowvP3DcK7dl/HlE56PNTt/7AYtvmrb6Uo+fKj90v58i
Z8JYtrE3frsPhcg2CN+Upc+SuSaLNVVs0Q4lVEVNXmU24F6RpWtx/eO9go/Q1TxFYoE7
yER+2xF8rL9onEJ8rukvZvgeciFJUPF04wJD50SZSTqeiUrpT0EB0CNLTWGwiVdpg/Ig
k95M8LwxZ/rYGG4jGd/aTCFu6a8Cb+DFUjlTS65J//U8jbTUk6suuFV47O20KvzwytM7
/7eeZ5Q7zTNVvSs8Po4Q5jBoJVaO9G+zAMGK9YhfFD6nzbsFmKRslP4aevtAqjtZ5Ip/
A+pA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date;
bh=3ZUSupMUH6E05gWVqE9yBfHWRhcg+RWdYQR0rqWPlKE=;
b=ad+7HmX3/Bk55NXV+l9bp9pqAloe4fhT+sTZTag48DFD5G5oCFiteaPAztrhbD+imb
9NgLVy6lzh7ZeG+ZarlGLeao+183VHvIkgZRXEXI8g4j6Icak9QOlAhpwRd/dKgDUwlG
gE9hNqYkxQE+nyvj64TpVkEbtWfNZVk1aiUB07sYZwOOK7DvrVquGP4RRCra60gmQxWK
dTS3MJeHfCgtOpN/zIZIucWSgMpcn2cskBCta97WdcBETXHVhK96ApLJwHh7qEY31eR/
v1mr27+cFuyaejbhq/amjA80QFdx9xXZ+fp0Etc3qCvVv83oAs50qpnqy7Wa8hsXxB7c
GACg==
X-Gm-Message-State: ACgBeo3X6OJjo8jAkmpi8xv1T+hIia2GdFvMLsZF2ZXA1Ia0zmKJCyeo
gYsMVQxUJA//2NyiCm8iiv9u2rToxVN7VlUPqjY=
X-Google-Smtp-Source: AA6agR6JEj+JU288Tt4plRsVDzZTfLUQvjSeoreUySv8gLa8vz3h1eFeMqigehU624QVLMUJokkNG3rhp5eiZ4X0SRk=
X-Received: by 2002:a05:6870:14c8:b0:127:8b50:198b with SMTP id
l8-20020a05687014c800b001278b50198bmr6209532oab.216.1663269832350; Thu, 15
Sep 2022 12:23:52 -0700 (PDT)
MIME-Version: 1.0
References: <166325284132.32481.3819031653685599117-0@git.sr.ht> <166325284132.32481.3819031653685599117-1@git.sr.ht>
In-Reply-To: <166325284132.32481.3819031653685599117-1@git.sr.ht>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Thu, 15 Sep 2022 22:23:41 +0300
Message-ID: <CAFVMu-oZSaxLey689rL80RvwPd0VNH7SOFKaQ0A5ccefVUBsTg@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc 1/1] Fix include root path for macos-aarch64
To: "~kmicklas" <git@kmicklas.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, kmicklas@uber.com
Content-Type: text/plain; charset="UTF-8"
On Thu, Sep 15, 2022 at 5:40 PM ~kmicklas <kmicklas@git.sr.ht> wrote:
>
> From: Ken Micklas <kmicklas@uber.com>
>
> ---
> toolchain/defs.bzl | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Thanks, applied. Though those will likely need to be revised soon -- I
remember reading somewhere that those prefixes will be made consistent
at some point. It's either landed, or there is an open PR.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id A8BE811EE04;
Tue, 27 Sep 2022 07:24:28 +0000 (UTC)
From: ~motiejus <motiejus@git.sr.ht>
Date: Tue, 27 Sep 2022 07:24:28 +0000
MIME-Version: 1.0
Subject: [PATCH bazel-zig-cc 0/2] use relative paths
Message-ID: <166426346839.12781.6953968828011257615-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~motiejus <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht, fabian@hahn.graphics
Cc: laurynasl@uber.com, mail@kmicklas.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
This patchset changes absolute paths to tools to relative paths. Work
was started by @kmicklas and completed by myself and @laurynasl. Please
review.
Currently, with absolute paths, bazel's remote cache keys are different
between two workspaces, busting our remote cache. We hope (did not try
yet) that this will normalize them and fix our cache hit ratios.
Fabian, this does not work on Windows yet; if you want to chime in, I
will wait a couple of days for your patch before I cut a release.
1.0 is coming soon.
Ken Micklas (1):
WIP: use relative paths for tools
Motiejus Jak=C5=A1tys (1):
defs: fix import paths
README.md | 2 +-
toolchain/BUILD.sdk.bazel | 9 +++++++--
toolchain/defs.bzl | 29 +++++++++++++++++++++++++----
toolchain/private/BUILD.sdk.bazel | 7 -------
toolchain/private/cc_toolchains.bzl | 17 ++++++++---------
toolchain/private/defs.bzl | 29 ++++++++++++++---------------
toolchain/toolchain/defs.bzl | 4 ++--
7 files changed, 57 insertions(+), 40 deletions(-)
delete mode 100644 toolchain/private/BUILD.sdk.bazel
--=20
2.34.4
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id CC64611EE05;
Tue, 27 Sep 2022 07:24:28 +0000 (UTC)
From: ~motiejus <motiejus@git.sr.ht>
Date: Wed, 21 Sep 2022 11:14:29 +0100
Subject: [PATCH bazel-zig-cc 1/2] WIP: use relative paths for tools
Message-ID: <166426346839.12781.6953968828011257615-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~motiejus <motiejus@jakstys.lt>
In-Reply-To: <166426346839.12781.6953968828011257615-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht, fabian@hahn.graphics
Cc: laurynasl@uber.com, mail@kmicklas.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Ken Micklas <kmicklas@uber.com>
---
README.md | 2 +-
toolchain/BUILD.sdk.bazel | 9 +++++++--
toolchain/defs.bzl | 5 +++--
toolchain/private/BUILD.sdk.bazel | 7 -------
toolchain/private/cc_toolchains.bzl | 12 +++++++-----
toolchain/toolchain/defs.bzl | 4 ++--
6 files changed, 20 insertions(+), 19 deletions(-)
delete mode 100644 toolchain/private/BUILD.sdk.bazel
diff --git a/README.md b/README.md
index 262b88b..266952f 100644
--- a/README.md
+++ b/README.md
@@ -110,7 +110,7 @@ toolchain(
generator_location =3D "toolchain/BUILD:7:19",
toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
target_compatible_with =3D ["@platforms//os:linux", "@platforms//cpu:aarch=
64", "@zig_sdk//libc:unconstrained"],
- toolchain =3D "@zig_sdk//private:aarch64-linux-musl_cc",
+ toolchain =3D "@zig_sdk//:aarch64-linux-musl_cc",
)
```
=20
diff --git a/toolchain/BUILD.sdk.bazel b/toolchain/BUILD.sdk.bazel
index e1505b1..ef5fd5f 100644
--- a/toolchain/BUILD.sdk.bazel
+++ b/toolchain/BUILD.sdk.bazel
@@ -1,11 +1,10 @@
load("@bazel-zig-cc//toolchain:defs.bzl", "declare_files")
+load("@bazel-zig-cc//toolchain/private:cc_toolchains.bzl", "declare_cc_toolc=
hains")
=20
package(
default_visibility =3D ["//visibility:public"],
)
=20
-
-
declare_files(
os =3D {os},
zig_include_root =3D {zig_include_root},
@@ -15,3 +14,9 @@ exports_files([
"glibc-hacks/fcntl.map",
"glibc-hacks/glibchack-fcntl.h",
])
+
+declare_cc_toolchains(
+ os =3D {os},
+ absolute_path =3D {absolute_path},
+ zig_include_root =3D {zig_include_root},
+)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 797e4fe..f0e6a72 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -186,14 +186,14 @@ def _zig_repository_impl(repository_ctx):
=20
for dest, src in {
"BUILD": "//toolchain:BUILD.sdk.bazel",
- "private/BUILD": "//toolchain/private:BUILD.sdk.bazel",
+ # "private/BUILD": "//toolchain/private:BUILD.sdk.bazel",
}.items():
repository_ctx.template(
dest,
Label(src),
executable =3D False,
substitutions =3D {
- "{absolute_path}": _quote(str(repository_ctx.path(""))),
+ "{absolute_path}": _quote("external/zig_sdk"),
"{os}": _quote(os),
"{zig_include_root}": _quote(zig_include_root),
},
@@ -246,6 +246,7 @@ def filegroup(name, **kwargs):
return ":" + name
=20
def declare_files(os, zig_include_root):
+ filegroup(name =3D "all", srcs =3D native.glob(["**"]))
filegroup(name =3D "empty")
if os =3D=3D "windows":
native.exports_files(["zig.exe"], visibility =3D ["//visibility:publ=
ic"])
diff --git a/toolchain/private/BUILD.sdk.bazel b/toolchain/private/BUILD.sdk.=
bazel
deleted file mode 100644
index 3e7c23e..0000000
--- a/toolchain/private/BUILD.sdk.bazel
+++ /dev/null
@@ -1,7 +0,0 @@
-load("@bazel-zig-cc//toolchain/private:cc_toolchains.bzl", "declare_cc_toolc=
hains")
-
-declare_cc_toolchains(
- os =3D {os},
- absolute_path =3D {absolute_path},
- zig_include_root =3D {zig_include_root},
-)
diff --git a/toolchain/private/cc_toolchains.bzl b/toolchain/private/cc_toolc=
hains.bzl
index 724cbda..6b8b3e6 100644
--- a/toolchain/private/cc_toolchains.bzl
+++ b/toolchain/private/cc_toolchains.bzl
@@ -29,7 +29,7 @@ def declare_cc_toolchains(os, absolute_path, zig_include_ro=
ot):
absolute_tool_paths[name] =3D path
continue
tool_path =3D zig_tool_path(os).format(zig_tool =3D path)
- absolute_tool_paths[name] =3D "%s/%s" % (absolute_path, tool_pat=
h)
+ absolute_tool_paths[name] =3D tool_path
=20
linkopts =3D target_config.linkopts
dynamic_library_linkopts =3D target_config.dynamic_library_linkopts
@@ -53,18 +53,20 @@ def declare_cc_toolchains(os, absolute_path, zig_include_=
root):
compiler =3D "clang",
abi_version =3D "unknown",
abi_libc_version =3D "unknown",
+ # visibility =3D ["//visibility:private"],
)
=20
native.cc_toolchain(
name =3D zigtarget + "_cc",
toolchain_identifier =3D zigtarget + "-toolchain",
toolchain_config =3D ":%s_cc_config" % zigtarget,
- all_files =3D "@zig_sdk//:zig",
- ar_files =3D "@zig_sdk//:zig",
- compiler_files =3D "@zig_sdk//:zig",
- linker_files =3D "@zig_sdk//:zig",
+ all_files =3D "@zig_sdk//:all",
+ ar_files =3D "@zig_sdk//:all",
+ compiler_files =3D "@zig_sdk//:all",
+ linker_files =3D "@zig_sdk//:all",
dwp_files =3D "@zig_sdk//:empty",
objcopy_files =3D "@zig_sdk//:empty",
strip_files =3D "@zig_sdk//:empty",
supports_param_files =3D 0,
+ # visibility =3D ["//visibility:private"],
)
diff --git a/toolchain/toolchain/defs.bzl b/toolchain/toolchain/defs.bzl
index 1d99a61..24a90cc 100644
--- a/toolchain/toolchain/defs.bzl
+++ b/toolchain/toolchain/defs.bzl
@@ -32,7 +32,7 @@ def _declare_toolchain(gotarget, zigtarget, target_compatib=
le_with):
name =3D gotarget,
exec_compatible_with =3D None,
target_compatible_with =3D target_compatible_with,
- toolchain =3D "@zig_sdk//private:%s_cc" % zigtarget,
+ toolchain =3D "@zig_sdk//:%s_cc" % zigtarget,
toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
)
=20
@@ -41,6 +41,6 @@ def _declare_toolchain(gotarget, zigtarget, target_compatib=
le_with):
name =3D zigtarget,
exec_compatible_with =3D None,
target_compatible_with =3D target_compatible_with,
- toolchain =3D "@zig_sdk//private:%s_cc" % zigtarget,
+ toolchain =3D "@zig_sdk//:%s_cc" % zigtarget,
toolchain_type =3D "@bazel_tools//tools/cpp:toolchain_type",
)
--=20
2.34.4
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id EAD5C11EF5B;
Tue, 27 Sep 2022 07:24:28 +0000 (UTC)
From: ~motiejus <motiejus@git.sr.ht>
Date: Mon, 26 Sep 2022 10:14:08 +0300
Subject: [PATCH bazel-zig-cc 2/2] defs: fix import paths
MIME-Version: 1.0
Message-ID: <166426346839.12781.6953968828011257615-2@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~motiejus <motiejus@jakstys.lt>
In-Reply-To: <166426346839.12781.6953968828011257615-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht, fabian@hahn.graphics
Cc: laurynasl@uber.com, mail@kmicklas.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: Motiejus Jak=C5=A1tys <motiejus@uber.com>
Empirically these need to come from most specfic to least specific.
The error message is as follows:
In file included from test/c/main.c:1:
In file included from external/zig_sdk/lib/libcxx/include/stdio.h:107:
In file included from external/zig_sdk/lib/libc/include/generic-glibc/std=
io.h:38:
external/zig_sdk/lib/libc/include/generic-glibc/bits/types.h:139:3: error:
# error
^
external/zig_sdk/lib/libc/include/generic-glibc/bits/types.h:145:1: error=
: unknown type name '__STD_TYPE'
__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */
Dissected `generic-glibc/bits/types.h:#error`:
#if __WORDSIZE =3D=3D 32
<...>
# define __STD_TYPE __extension__ typedef
#elif __WORDSIZE =3D=3D 64
<...>
# define __STD_TYPE typedef
#else
# error
#endif
So we do not have the `__WORDSIZE`. Where does that come from? Probably from a
directory that has an `x86_64` in it. How does that get included? Let's start
with `lib/libcxx/include/stdio.h`:
16 #include_next <stdio.h>
Now previously our `c++` command line looked like this:
external/zig_sdk/tools/c++ \
<...>
-Iexternal/zig_sdk/lib/include \
-Iexternal/zig_sdk/lib/libcxx/include \
-Iexternal/zig_sdk/lib/libcxxabi/include \
-Iexternal/zig_sdk/lib/libunwind/include \
-Iexternal/zig_sdk/lib/libc/include/generic-glibc \
-Iexternal/zig_sdk/lib/libc/include/any-linux-any \
-Iexternal/zig_sdk/lib/libc/include/x86_64-linux-gnu \
-Iexternal/zig_sdk/lib/libc/include/x86_64-linux-any \
-Iexternal/zig_sdk/lib/libc/include/x86-linux-any \
-Iexternal/zig_sdk/glibc-hacks \
<...>
So the next place it will find `stdio.h` is in `generic-glibc`, which already
uses the `__WORDSIZE`. If we make the "next" include to be the arch-specific
one instead of the generic-glibc, things start compiling again.
Fix the same fo musl.
---
toolchain/defs.bzl | 24 ++++++++++++++++++++++--
toolchain/private/cc_toolchains.bzl | 9 +++------
toolchain/private/defs.bzl | 29 ++++++++++++++---------------
3 files changed, 39 insertions(+), 23 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index f0e6a72..25ca20a 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -1,6 +1,13 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "read_user_netrc", "us=
e_netrc")
-load("@bazel-zig-cc//toolchain/private:defs.bzl", "DEFAULT_INCLUDE_DIRECTORI=
ES", "target_structs", "zig_tool_path")
+load("@bazel-zig-cc//toolchain/private:defs.bzl", "target_structs", "zig_too=
l_path")
+
+# Directories that `zig c++` includes behind the scenes.
+_DEFAULT_INCLUDE_DIRECTORIES =3D [
+ "libcxx/include",
+ "libcxxabi/include",
+ "libunwind/include",
+]
=20
_fcntl_map =3D """
GLIBC_2.2.5 {
@@ -86,12 +93,14 @@ _ZIG_TOOLS =3D [
"wasm-ld", # WebAssembly
]
=20
+# TODO: ZIG_LIB_DIR equivalent in powershell?
_ZIG_TOOL_WRAPPER_WINDOWS_CACHE_KNOWN =3D """@echo off
set ZIG_LOCAL_CACHE_DIR=3D{cache_prefix}\\bazel-zig-cc
set ZIG_GLOBAL_CACHE_DIR=3D%ZIG_LOCAL_CACHE_DIR%
"{zig}" "{zig_tool}" %*
"""
=20
+# TODO: ZIG_LIB_DIR equivalent in powershell?
_ZIG_TOOL_WRAPPER_WINDOWS_CACHE_GUESS =3D """@echo off
if exist "%TMP%\\*" goto :usertmp
set ZIG_LOCAL_CACHE_DIR=3DC:\\Temp\\bazel-zig-cc
@@ -104,6 +113,12 @@ set ZIG_GLOBAL_CACHE_DIR=3D%ZIG_LOCAL_CACHE_DIR%
"""
=20
_ZIG_TOOL_WRAPPER_CACHE_KNOWN =3D """#!/bin/sh
+set -e
+if [ -d external/zig_sdk/lib ]; then
+ export ZIG_LIB_DIR=3Dexternal/zig_sdk/lib
+else
+ export ZIG_LIB_DIR=3D"$(dirname "$0")/../lib"
+fi
export ZIG_LOCAL_CACHE_DIR=3D"{cache_prefix}/bazel-zig-cc"
export ZIG_GLOBAL_CACHE_DIR=3D"{cache_prefix}/bazel-zig-cc"
exec "{zig}" "{zig_tool}" "$@"
@@ -111,6 +126,11 @@ exec "{zig}" "{zig_tool}" "$@"
=20
_ZIG_TOOL_WRAPPER_CACHE_GUESS =3D """#!/bin/sh
set -e
+if [ -d external/zig_sdk/lib ]; then
+ export ZIG_LIB_DIR=3Dexternal/zig_sdk/lib
+else
+ export ZIG_LIB_DIR=3D"$(dirname "$0")/../lib"
+fi
if [ -n "$TMPDIR" ]; then
_cache_prefix=3D$TMPDIR
elif [ -n "$HOME" ]; then
@@ -258,7 +278,7 @@ def declare_files(os, zig_include_root):
lazy_filegroups =3D {}
=20
for target_config in target_structs():
- for d in DEFAULT_INCLUDE_DIRECTORIES + target_config.includes:
+ for d in _DEFAULT_INCLUDE_DIRECTORIES + target_config.includes:
d =3D zig_include_root + d
if d not in lazy_filegroups:
lazy_filegroups[d] =3D filegroup(name =3D d, srcs =3D native=
.glob([d + "/**"]))
diff --git a/toolchain/private/cc_toolchains.bzl b/toolchain/private/cc_toolc=
hains.bzl
index 6b8b3e6..a5b4b5e 100644
--- a/toolchain/private/cc_toolchains.bzl
+++ b/toolchain/private/cc_toolchains.bzl
@@ -1,4 +1,4 @@
-load(":defs.bzl", "DEFAULT_INCLUDE_DIRECTORIES", "target_structs", "zig_tool=
_path")
+load(":defs.bzl", "target_structs", "zig_tool_path")
load("@bazel-zig-cc//toolchain:zig_toolchain.bzl", "zig_cc_toolchain_config")
=20
DEFAULT_TOOL_PATHS =3D {
@@ -17,9 +17,6 @@ def declare_cc_toolchains(os, absolute_path, zig_include_ro=
ot):
zigtarget =3D target_config.zigtarget
=20
cxx_builtin_include_directories =3D []
- for d in DEFAULT_INCLUDE_DIRECTORIES + target_config.includes:
- d =3D zig_include_root + d
- cxx_builtin_include_directories.append(absolute_path + "/" + d)
for d in getattr(target_config, "toplevel_include", []):
cxx_builtin_include_directories.append(absolute_path + "/" + d)
=20
@@ -53,7 +50,7 @@ def declare_cc_toolchains(os, absolute_path, zig_include_ro=
ot):
compiler =3D "clang",
abi_version =3D "unknown",
abi_libc_version =3D "unknown",
- # visibility =3D ["//visibility:private"],
+ visibility =3D ["//visibility:private"],
)
=20
native.cc_toolchain(
@@ -68,5 +65,5 @@ def declare_cc_toolchains(os, absolute_path, zig_include_ro=
ot):
objcopy_files =3D "@zig_sdk//:empty",
strip_files =3D "@zig_sdk//:empty",
supports_param_files =3D 0,
- # visibility =3D ["//visibility:private"],
+ visibility =3D ["//visibility:private"],
)
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 8a8b4f5..2e939fd 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -1,9 +1,3 @@
-DEFAULT_INCLUDE_DIRECTORIES =3D [
- "include",
- "libcxx/include",
- "libcxxabi/include",
-]
-
_ZIG_TOOL_PATH =3D "tools/{zig_tool}"
=20
# Zig supports even older glibcs than defined below, but we have tested only
@@ -101,12 +95,14 @@ def _target_linux_gnu(gocpu, zigcpu, glibc_version):
gotarget =3D "linux_{}_{}".format(gocpu, glibc_suffix),
zigtarget =3D "{}-linux-{}".format(zigcpu, glibc_suffix),
includes =3D [
- "libunwind/include",
- "libc/include/generic-glibc",
+ "libc/include/{}-linux-gnu".format(zigcpu),
+ "libc/include/generic-glibc",
+ ] +
+ # x86_64-linux-any is x86_64-linux and x86-linux combined.
+ (["libc/include/x86-linux-any"] if zigcpu =3D=3D "x86_64"=
else []) +
+ (["libc/include/{}-linux-any".format(zigcpu)] if zigcpu !=
=3D "x86_64" else []) + [
"libc/include/any-linux-any",
- "libc/include/{}-linux-gnu".format(zigcpu),
- "libc/include/{}-linux-any".format(zigcpu),
- ] + (["libc/include/x86-linux-any"] if zigcpu =3D=3D "x86_64" else [=
]),
+ ],
toplevel_include =3D ["glibc-hacks"] if fcntl_hack else [],
compiler_extra_includes =3D ["glibc-hacks/glibchack-fcntl.h"] if fcn=
tl_hack else [],
linker_version_scripts =3D ["glibc-hacks/fcntl.map"] if fcntl_hack e=
lse [],
@@ -127,11 +123,14 @@ def _target_linux_musl(gocpu, zigcpu):
gotarget =3D "linux_{}_musl".format(gocpu),
zigtarget =3D "{}-linux-musl".format(zigcpu),
includes =3D [
- "libc/include/generic-musl",
+ "libc/include/{}-linux-musl".format(zigcpu),
+ "libc/include/generic-musl",
+ ] +
+ # x86_64-linux-any is x86_64-linux and x86-linux combined.
+ (["libc/include/x86-linux-any"] if zigcpu =3D=3D "x86_64"=
else []) +
+ (["libc/include/{}-linux-any".format(zigcpu)] if zigcpu !=
=3D "x86_64" else []) + [
"libc/include/any-linux-any",
- "libc/include/{}-linux-musl".format(zigcpu),
- "libc/include/{}-linux-any".format(zigcpu),
- ] + (["libc/include/x86-linux-any"] if zigcpu =3D=3D "x86_64" else [=
]),
+ ],
linkopts =3D [],
dynamic_library_linkopts =3D [],
copts =3D ["-D_LIBCPP_HAS_MUSL_LIBC", "-D_LIBCPP_HAS_THREAD_API_PTHR=
EAD"],
--=20
2.34.4
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=W7KlZflNVFjgKd628RF6PaVUJubT+rUOy4Q+3rHrpxM=;
c=simple/simple; d=sr.ht; h=Date:Subject:To:Cc:From:In-Reply-To;
q=dns/txt; s=srht; t=1664266328; v=1;
b=NCYXfvN9GoTiM384oIMvv0Zysk1gDxQiDQHIqwGA2NBS/5ESsWVndRdHWnLPeTKNDJ6hZipK
nRGGRix+3HVrumdnhXQoo2OaT1az2Xsj/IdIOgKcjUuOrLY51JDiFFEZl+RlC+unoN2AXg2vUI/
urwhxb19FXVu97UVnTJ01EIp+AJWjBxBFP/SBazSOKBX0c0GG6gZlpsvWbI6BhFfN/a2cNmN94E
3GjhqyDfH5ng3siBZJUVl5qsi7qupHMP0N0pFCdcdGYpIvkMpwkc86HbtgQbzls0/vhOsvmLtf7
9pLHhXmhIFKaRVTLsRZWXWYTYF3vyFnm60FhBETgyghsQ==
Received: from localhost (unknown [173.195.146.244])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id C3F2F11EE04;
Tue, 27 Sep 2022 08:12:08 +0000 (UTC)
MIME-Version: 1.0
Date: Tue, 27 Sep 2022 08:12:08 +0000
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~motiejus" <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CN716CKQL8QI.2KTA9DW8RGJVO@cirno2>
In-Reply-To: <166426346839.12781.6953968828011257615-2@git.sr.ht>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 47m37s
[use relative paths][0] from [~motiejus][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/35627
[1]: mailto:motiejus@jakstys.lt
=E2=9C=93 #851368 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/851368
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=uber.com header.i=@uber.com
Received: from mail-qk1-f170.google.com (mail-qk1-f170.google.com [209.85.222.170])
by mail-b.sr.ht (Postfix) with ESMTPS id A049611EE05
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 27 Sep 2022 09:44:45 +0000 (UTC)
Received: by mail-qk1-f170.google.com with SMTP id d17so5651016qko.13
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 27 Sep 2022 02:44:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=uber.com; s=google;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date;
bh=r5VFyX1uT1BFLnwrXt3uLx3lRhBc+ITbuN6f4nth1Gg=;
b=vvbnJZEiuJt4m2ffffQyXu+Y8naonBmKxxIMgkii/lWQ6X21TnQmhRYDUeWf8vyN5U
LnB/FRDXykuT2/Jw2WwvXWtTA3RzpLQ8SerPeR3Vqh1Nqa1A0iRcwwrn+gMukMPip/FV
n/Ko4qOfW65WIq2C2WZspGwgfdsw4CFDAHFOs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date;
bh=r5VFyX1uT1BFLnwrXt3uLx3lRhBc+ITbuN6f4nth1Gg=;
b=VDBpQSk57bs2YO9HT3E4l7sJK6P64dF5Qbe5zBVL0cJhStzPUSo+fNJe+r7eXacNmc
UeMAeOyJMUEAK/uym+PLTOvruaNsprC96YKWFjPEemuPUSnwAVHyiYd+90BrMicTCDUV
0LExWrmsyn6hr9/WLwh4sKsFUGBpPFAxBmaACGVjA/ihTBWwiUF6weFuDuLIAUR9qZfU
Qq2cWpfBNpsfsA6VBjBz3o3DD6Md0DGtCSC7oPlp3SuUJzBuAleO80nfzWOg0JY9S88W
8yyNY3knobuft6mbxLxkKvhwgiIw4n6hlK+yuXfHOunCfDqnMHIyBJpM45rgSqSUoGMY
taTQ==
X-Gm-Message-State: ACrzQf1cX1aBsmkgNoAchdOUMGdFpv9CQtAkamC84YQzjchqeb6YJ47R
TzsaFpTjgUkkdRq9jIUMmEVLubytMZPifn3LXktR
X-Google-Smtp-Source: AMsMyM5YfFW5pOEuSYW2BGOZGw7sBOW82OY5UKDobg0Kx32YmdjDydMkfReEwBnQW6MOUNb1ME/cW7Do1qJzHRHEzx4=
X-Received: by 2002:a05:620a:1239:b0:6ce:24c1:12d7 with SMTP id
v25-20020a05620a123900b006ce24c112d7mr16841011qkj.496.1664271885023; Tue, 27
Sep 2022 02:44:45 -0700 (PDT)
MIME-Version: 1.0
References: <166426346839.12781.6953968828011257615-0@git.sr.ht>
In-Reply-To: <166426346839.12781.6953968828011257615-0@git.sr.ht>
From: Laurynas Lubys <laurynasl@uber.com>
Date: Tue, 27 Sep 2022 12:44:34 +0300
Message-ID: <CAG09j48HjG7DQ9a7pxgniwNS6Yik7ZEVVo52XsmpfVLtmzoB-A@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc 0/2] use relative paths
To: "~motiejus" <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, fabian@hahn.graphics,
mail@kmicklas.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Mostly looks good.
The `absolute_path` parameter can be inlined to avoid confusion.
I don't see a good way to keep the `private` package. It has to go, so
that all the generated files are available under the `zig_sdk//:all`
fileset.
On Tue, Sep 27, 2022 at 10:24 AM ~motiejus <motiejus@git.sr.ht> wrote:
>
> This patchset changes absolute paths to tools to relative paths. Work
> was started by @kmicklas and completed by myself and @laurynasl. Please
> review.
>
> Currently, with absolute paths, bazel's remote cache keys are different
> between two workspaces, busting our remote cache. We hope (did not try
> yet) that this will normalize them and fix our cache hit ratios.
>
> Fabian, this does not work on Windows yet; if you want to chime in, I
> will wait a couple of days for your patch before I cut a release.
>
> 1.0 is coming soon.
>
> Ken Micklas (1):
> WIP: use relative paths for tools
>
> Motiejus Jak=C5=A1tys (1):
> defs: fix import paths
>
> README.md | 2 +-
> toolchain/BUILD.sdk.bazel | 9 +++++++--
> toolchain/defs.bzl | 29 +++++++++++++++++++++++++----
> toolchain/private/BUILD.sdk.bazel | 7 -------
> toolchain/private/cc_toolchains.bzl | 17 ++++++++---------
> toolchain/private/defs.bzl | 29 ++++++++++++++---------------
> toolchain/toolchain/defs.bzl | 4 ++--
> 7 files changed, 57 insertions(+), 40 deletions(-)
> delete mode 100644 toolchain/private/BUILD.sdk.bazel
>
> --
> 2.34.4
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178])
by mail-b.sr.ht (Postfix) with ESMTPS id 1B25911EE05
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 27 Sep 2022 13:10:04 +0000 (UTC)
Received: by mail-oi1-f178.google.com with SMTP id m81so11839896oia.1
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 27 Sep 2022 06:10:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=content-transfer-encoding:to:subject:message-id:date:from
:mime-version:from:to:cc:subject:date;
bh=cBNiw8zybrgk0hg558e2v5hQQ5OHEb48r745rdZ9+Tk=;
b=dbDdpk2p6sLSVmDD4hEh4NZLYV0zQZ0lcwNwnCi4DWYLKaxD5cQPz5vwudAr7AMvwC
PgohWaiWFBhKc/VVAe81iS2irKoWClxZzn1XqzNyXhFRsUd0Gt0xezj1c5V57UGJnGpc
8J/pcMreo6CiIMEuRWvuLPWDdDSoSkGD18yAElnI8lilyNL+46BM+s/Ah4NhrnVtC1jx
CxTAcWcunoyxwh3NotR9zI91C0ksiCayZBGU6yVai6PYhw2DzSSM/JjfYfEoeIcUbY7P
t/swYzL6PmGjEyUjonp48koVRAErTes40JHpVdGAcdP5QAHtGzXs5l8iXV028G5Ax+QP
hB+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:to:subject:message-id:date:from
:mime-version:x-gm-message-state:from:to:cc:subject:date;
bh=cBNiw8zybrgk0hg558e2v5hQQ5OHEb48r745rdZ9+Tk=;
b=b/F2LU+u3InyGfvmHPoLT24MQdlnSFkDljgxWqZa8/8d8vxcMLTtNtYuX3aneEEwNK
AsG6uVN2bbdq+xUAI1Ei5G8n3B2xWFgxDHUmkyvSfntTfFEofQ9nWsj4B2f0OiBBLvVN
NBkRKsUsJ/dSwMayohHMdIHKORqpXze9beq5iSJu1NlTtUEgQjAqcPSfmQWzMbWhmKEd
D/SkrQnebqTkv0HfSBWGM1WWPVARxw3j6+JRpFmA0VW2/c5RaZogqr1sLFp32D9Os6mM
ApfzQLxs33ij1sH4oay7FSuDwU5BXjlZtKb7Ss5onF62nnSzBERHokwKBxvskgB2VyTs
vtzA==
X-Gm-Message-State: ACrzQf1prgnmbVCNta7dvBQoUIy3Y734OGhKu3UTtdauzZRm8VUVg3t0
k32pbaVrjrb7WHnN3oROj0QyfU4ycDlMBwhzwc6WgRPITMY=
X-Google-Smtp-Source: AMsMyM5Kyq9LAyyIJZZsagbDl/3R1Ng5ZwWZkDauCpP6FlNXoh5oCFQTzFWwIUPEWMOT9ToiRQMYc7AYRqKS0PXGVic=
X-Received: by 2002:a05:6808:a0a:b0:350:aae9:3c7 with SMTP id
n10-20020a0568080a0a00b00350aae903c7mr1764209oij.216.1664284203295; Tue, 27
Sep 2022 06:10:03 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Tue, 27 Sep 2022 16:09:52 +0300
Message-ID: <CAFVMu-rJk0fyAMpvWRN60r38bELu5Oq1orM6-8aARKY0zyOvBQ@mail.gmail.com>
Subject: bazel-zig-cc v1.0.0-rc1
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hi all,
I just cut bazel-zig-cc v1.0.0-rc1. Big release:
- use relative paths for tools. We hope this will make builds (more)
reproducible and un-bust our remote cache hit rates.
- you may have noticed zig_sdk is being "downloaded" ~10 times on some
occasions. No longer.
We are in final testing & acceptance phase to use bazel-zig-cc for all
CGo at Uber's Go Monorepo. We may have a couple more RCs.
Note: this release temporarily breaks Windows support; I will wait for
a couple of days for Fabian's patch to port [1] before cutting v1.0.0.
This release includes code from Motiejus Jak=C5=A1tys and Ken Micklas with
close collaboration of Laurynas Lubys.
[1]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/35627
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f51.google.com (mail-oa1-f51.google.com [209.85.160.51])
by mail-b.sr.ht (Postfix) with ESMTPS id B00F111EE05
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 27 Sep 2022 13:59:55 +0000 (UTC)
Received: by mail-oa1-f51.google.com with SMTP id 586e51a60fabf-1319573379eso516462fac.0
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 27 Sep 2022 06:59:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=content-transfer-encoding:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date;
bh=NWWaL96khLWrFeuHEpCKFpO9Uk7PENGUdwLiys4kvek=;
b=MZk/b8eFw/uDRuWxXvOvxAc7wzeE/Zs0s7ACPE3TfGR+F/ysSOwL0W6PbQrJEQn5Cp
mV5CG+Tpp6slfXS+MDStcdYcSJ0o3Smd3m1r1k6tQbmLuUI0v8Mp03i8t8isekhl1DGJ
Bighdzoi0hANgz/IQuQfII7m3qVvgM9ab+O2Bw448FLkaczQTSWkRriGQc9HsQNvlFWR
QoWCcMgsrDCsUqutAMh2CowNUE4souwv5Z2ITaj7YRm1RJsBOs4IfDKqvxDTp4oRTGUL
8B0FLvnBcAXG+ItvvRL167CJ8TiaL8/w6LqIqqJ4/Ji5cEZV6lAvzvXwqw/wTM1BmECB
24QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date;
bh=NWWaL96khLWrFeuHEpCKFpO9Uk7PENGUdwLiys4kvek=;
b=qcj4YYjQA6EjwQeaSnBhtC+vJx2CTmBRBLsHJFQQf2xZKiA0uF8yTCMbl9hIuSxEdZ
WcUic5zYj6X+TZcTUVsfwgewlM8ehhVTYYPe19vC3R9fetHMKToDTuWQP5rwd7Najkjn
sj+wM7cZ4L4QHOfdsexzbwhHRwdLnNJkKihyv0RYhfPxuG2WrOX+bez3SCeXSzvQGn8Y
hOiI3E5FqvvGAPYtSkwzxdj9kmCzUWlbFw6JGk6AxJDcc/DTv6FSLpSh0LaXes/f4bqp
wXw2Syew50khtOtMPqWpBLnqZEqUXJUGmDPNj/BWdgwGyCWvcsdXByNmBx2GES0j28H9
fVoA==
X-Gm-Message-State: ACrzQf3rG+rHO88wr+NcwkJMcIpvcon18JYSH5DqhutT6SkLjebVw1iI
eAkpQ4fpNScDOdxyc9/Y3OF6nAtxGbJOLbylBYnN9gdU
X-Google-Smtp-Source: AMsMyM7YB6TQn8UidRWDQ3wNHSOyeN7PEOLcW+39BBYx7LP28r1Fqxpuxp4VmkbVCABa073pkEiJHusiDEddl9cePOU=
X-Received: by 2002:a05:6870:b14f:b0:127:d4f1:6a90 with SMTP id
a15-20020a056870b14f00b00127d4f16a90mr2276361oal.116.1664287195035; Tue, 27
Sep 2022 06:59:55 -0700 (PDT)
MIME-Version: 1.0
References: <CAFVMu-rJk0fyAMpvWRN60r38bELu5Oq1orM6-8aARKY0zyOvBQ@mail.gmail.com>
In-Reply-To: <CAFVMu-rJk0fyAMpvWRN60r38bELu5Oq1orM6-8aARKY0zyOvBQ@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Tue, 27 Sep 2022 16:59:43 +0300
Message-ID: <CAFVMu-oQC8e=7cJJLvdM5q8WtnDEChogsX3coJPvUoi7d3pbCg@mail.gmail.com>
Subject: Re: bazel-zig-cc v1.0.0-rc1
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Tue, Sep 27, 2022 at 4:09 PM Motiejus Jak=C5=A1tys <motiejus@jakstys.lt>=
wrote:
> - use relative paths for tools. We hope this will make builds (more)
> reproducible and un-bust our remote cache hit rates.
Quick update: bazel-zig-cc v1.0.0-rc1 does not mess up the remote
cache keys. Jackpot!
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 5F91511EEE2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 28 Sep 2022 16:38:28 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1664383103;
bh=nZiSsi4a3L6utKl+cvx5mUU11oQlCVQAM3bzccuOFVo=;
h=From:To:Cc:Subject;
b=M687vJMugshPLNlJ3uk9sTKN0OjwjA4V9RxcfwWFLVMMo3XRBWvvLJD9tvvXY5ion
ngnILZc79nqqiNkdB7IribEbiFRBjWL8xxDgExPzMlHXEK90Lv2V+sWbN/dXgs0jq0
P51I+qtrArEKXAk2PiFDkl6vIjiW9vHATxwuB0o0=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc] fix Windows host support with relative paths
Date: Wed, 28 Sep 2022 17:38:11 +0100
Message-Id: <20220928163811.4756-1-fabian@hahn.graphics>
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
v1.0.0-rc1 indeed broke Windows host support, but it was trivial to fix.
Also, the massive speedups gained from bazel not redownloading zig
multiple times more than made up for it, this was actually way worse on
Windows than I've ever experienced it to be on Linux (could take up to
10 minutes on first bazel run...). Also very cool to see that we're now
friendly to remote caches. Fantastic work everyone!
I've tested v1.0.0-rc1 with my minimal patch below on Windows and
everything is working fine. If we can add this then from my side v1.0.0
is good to go. Nice milestone indeed.
Best,
Fabian
---
toolchain/defs.bzl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 0aba0fb..487271f 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -93,15 +93,15 @@ _ZIG_TOOLS = [
"wasm-ld", # WebAssembly
]
-# TODO: ZIG_LIB_DIR equivalent in powershell?
_ZIG_TOOL_WRAPPER_WINDOWS_CACHE_KNOWN = """@echo off
+set ZIG_LIB_DIR=external\\zig_sdk\\lib
set ZIG_LOCAL_CACHE_DIR={cache_prefix}\\bazel-zig-cc
set ZIG_GLOBAL_CACHE_DIR=%ZIG_LOCAL_CACHE_DIR%
"{zig}" "{zig_tool}" %*
"""
-# TODO: ZIG_LIB_DIR equivalent in powershell?
_ZIG_TOOL_WRAPPER_WINDOWS_CACHE_GUESS = """@echo off
+set ZIG_LIB_DIR=external\\zig_sdk\\lib
if exist "%TMP%\\*" goto :usertmp
set ZIG_LOCAL_CACHE_DIR=C:\\Temp\\bazel-zig-cc
goto zig
--
2.25.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=zczVT4eRYBkbCSg5ecsE3BwZfMagCqVvV0rebt+AFo8=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1664386011; v=1;
b=f+i6LUFuTw2PexTQo+vzq4G4ddTeyzGRGicT2E6Yx8OhjuDvjAHLt6NZl6ccv/E0Y+ZTM4Lb
AwAGJvQLwobFb3uvIAPriSI29NlMQ6QvuzefnApcbw32xK8vUmNMJNClpjaELU+JPai8TtudRPk
emwPtEdXOSo04vyDt46XQ73L5EZw2PYzXmSalATPCRR++p1Ocl2Z5NWOmmGGLmCWrrZsPIybWZi
y3uAFuyrd+RMWYPWBoM5z+Y+EnNI1LjPaorU5Gfhrewi66iW+CmwdRB2jJQn2MAIQH7kuIkGQs3
cVhjfR4A3dlYJce3AFeiG6A2fkTm5B/Zd6qcRvje8LXLg==
Received: from localhost (unknown [173.195.146.244])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 9F85C11EEE2;
Wed, 28 Sep 2022 17:26:51 +0000 (UTC)
MIME-Version: 1.0
Date: Wed, 28 Sep 2022 17:26:51 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CN87LM5GVCV9.1WLSUUR9B74UH@cirno2>
In-Reply-To: <20220928163811.4756-1-fabian@hahn.graphics>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "Fabian Hahn" <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 48m21s
[fix Windows host support with relative paths][0] from [Fabian Hahn][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/35663
[1]: mailto:fabian@hahn.graphics
=E2=9C=93 #852370 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/852370
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f43.google.com (mail-oa1-f43.google.com [209.85.160.43])
by mail-b.sr.ht (Postfix) with ESMTPS id 88C0911F04E
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 28 Sep 2022 17:39:05 +0000 (UTC)
Received: by mail-oa1-f43.google.com with SMTP id 586e51a60fabf-12803ac8113so18209645fac.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 28 Sep 2022 10:39:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date;
bh=qaL7GGgrR6+LcB0nMfuv/XEGqUKAHZzfsHSfMqGiWXE=;
b=eXrwPluflVBoDQ8RN8qoNycAWWLxip4VFTn3nNdg3RhcH32QxcPIfN+OpDpoEIn7hL
lrWggIdq+JKQtcEKD6lF4ohCRWR94919NDrkDcuKDrnQBBTjn+fEXDkai477DWYELmo0
FHcvcyxo/oERnWirkpdNVZL6W0x4k5BYmMTrplBlMcUz1DWUKimbXUunM1zE5U4aYRkG
rtqDlFJJ4fZUZz5QucmGwrrIzDEdhw66qvBknSWGW50tpTqhkYsjcvwJZ7MqLA7osROc
EBUkXRADzN4VNke/T/9AlSW73IiCDplJsXxltuUe4VBVFG09WTeIKfhR6HxU6AmzcOfm
qcFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date;
bh=qaL7GGgrR6+LcB0nMfuv/XEGqUKAHZzfsHSfMqGiWXE=;
b=iEJeq4KuP50j9+Ijpgj1x5mTQPmhvCofRHB0trc6HrEtakvTcIL8M9+oPgszHaXUik
d0tUCnm1b2lDhq1C4uQcYAxbY5/XPJfRvyNZi3e0gD8C+30X6ywSvAkf47o8Ffu0AwSK
tzUWSKWNhnuF+PBRixPCCPLx4yYUYIYfZYROydL05geGAJ8yHlJB8ki/VZvygn5+Wu61
muBB7HMY4kdX+xAdGGhOvQPHox6wdM9iVk6Y2bHKlvKhmswqbaHov3WfvzaM4lvlJW+a
+vL7JrezdUU/gV+elrGD31w+gEk0M870NPa35GHwU4vgf2t/bcev5UNWavEQmX2VsXb/
nRmw==
X-Gm-Message-State: ACrzQf1GU4gH+Sqq9tffb/lJvnChsHF16rmZb6Ewr65mXRXqPAYvcLnR
VYVQ5oIdAF0otitS1gkgHcJXxqhhGK5G6O+7Pe9PnRR0Nc0=
X-Google-Smtp-Source: AMsMyM7EB2jI2qFrXCD1EBpbBcLzGml3gRTiF9f+ChdDLkQsDlvXCh/8E5lZL+Z9HmR4KQjEPTFtjK3W3sXngLkkD9I=
X-Received: by 2002:a05:6870:b14f:b0:127:d4f1:6a90 with SMTP id
a15-20020a056870b14f00b00127d4f16a90mr5958396oal.116.1664386744779; Wed, 28
Sep 2022 10:39:04 -0700 (PDT)
MIME-Version: 1.0
References: <20220928163811.4756-1-fabian@hahn.graphics>
In-Reply-To: <20220928163811.4756-1-fabian@hahn.graphics>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Wed, 28 Sep 2022 20:38:53 +0300
Message-ID: <CAFVMu-q_du=CzkUKd_0-Wufh6WiU4+mSBBG7g=F-i_5p1XqOwg@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc] fix Windows host support with relative paths
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi Fabian,
On Wed, Sep 28, 2022 at 7:38 PM Fabian Hahn <fabian@hahn.graphics> wrote:
> diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
> index 0aba0fb..487271f 100644
> --- a/toolchain/defs.bzl
> +++ b/toolchain/defs.bzl
> @@ -93,15 +93,15 @@ _ZIG_TOOLS = [
> "wasm-ld", # WebAssembly
> ]
>
> -# TODO: ZIG_LIB_DIR equivalent in powershell?
> _ZIG_TOOL_WRAPPER_WINDOWS_CACHE_KNOWN = """@echo off
> +set ZIG_LIB_DIR=external\\zig_sdk\\lib
> set ZIG_LOCAL_CACHE_DIR={cache_prefix}\\bazel-zig-cc
> set ZIG_GLOBAL_CACHE_DIR=%ZIG_LOCAL_CACHE_DIR%
> "{zig}" "{zig_tool}" %*
See the logic of Linux:
if [ -d external/zig_sdk/lib ]; then
export ZIG_LIB_DIR=external/zig_sdk/lib
else
export ZIG_LIB_DIR="$(dirname "$0")/../lib"
fi
It should set ZIG_LIB_DIR to external/zig_sdk/lib iff the directory
exists. It may not exist if build tools change working directory
before invoking zig cc. Hello Go!
Can you update the patch to add this?
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 6588111F050
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 28 Sep 2022 18:58:29 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1664391505;
bh=59+Xlj3WvqBwGrjjA1jXOHljOQCjh53DEv6XJpf5vPk=;
h=From:To:Cc:Subject;
b=GDy89IkCKUV/lFMnjtwZMdxoPWh5IkGPLMBFGcEgYSAcJxpexWxBbFQW2pPZqZdeN
bspQgpbHeQCfsVz2tw6AmwfFO39bAjJUEL9DFeSkmBt4MOVVhSlIOuPoKU+6015sO4
hNOPRu7U8s4OengLZV5V47oxDHrvTcgF0JKfQ+zo=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc v2] fix Windows host support with relative paths
Date: Wed, 28 Sep 2022 19:58:17 +0100
Message-Id: <20220928185817.4406-1-fabian@hahn.graphics>
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
---
Fixed the Windows scripts to support changing working directories.
Apologies for missing this, it didn't come up in my testing so I wasn't
sure if would be needed and skipped it. It's a bit more complicated now
than just adding a single line, but should still be fine.
Best,
Fabian
toolchain/defs.bzl | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 0aba0fb..284d2fe 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -93,15 +93,25 @@ _ZIG_TOOLS = [
"wasm-ld", # WebAssembly
]
-# TODO: ZIG_LIB_DIR equivalent in powershell?
_ZIG_TOOL_WRAPPER_WINDOWS_CACHE_KNOWN = """@echo off
+if exist "external\\zig_sdk\\lib\\*" goto :have_external_zig_sdk_lib
+set ZIG_LIB_DIR=%~dp0\\..\\lib
+goto :set_zig_lib_dir
+:have_external_zig_sdk_lib
+set ZIG_LIB_DIR=external\\zig_sdk\\lib
+:set_zig_lib_dir
set ZIG_LOCAL_CACHE_DIR={cache_prefix}\\bazel-zig-cc
set ZIG_GLOBAL_CACHE_DIR=%ZIG_LOCAL_CACHE_DIR%
"{zig}" "{zig_tool}" %*
"""
-# TODO: ZIG_LIB_DIR equivalent in powershell?
_ZIG_TOOL_WRAPPER_WINDOWS_CACHE_GUESS = """@echo off
+if exist "external\\zig_sdk\\lib\\*" goto :have_external_zig_sdk_lib
+set ZIG_LIB_DIR=%~dp0\\..\\lib
+goto :set_zig_lib_dir
+:have_external_zig_sdk_lib
+set ZIG_LIB_DIR=external\\zig_sdk\\lib
+:set_zig_lib_dir
if exist "%TMP%\\*" goto :usertmp
set ZIG_LOCAL_CACHE_DIR=C:\\Temp\\bazel-zig-cc
goto zig
--
2.25.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=um/H94u9uG3jiKqtK6opec6OVER4+3uYUPAM2kq5ODw=;
c=simple/simple; d=sr.ht; h=Date:Subject:To:Cc:From:In-Reply-To;
q=dns/txt; s=srht; t=1664394340; v=1;
b=jEz6APX7utEsOBPp/her0yUMV08BU8gMARGXiM8M3NDCfZ6uBEINLca0xz96FxajKcFIKGUB
0GD65sDJb3X42LDaBOImfDq9/TKcroDs+4+a2EZJD1e7vn/mG2qWq9SHVGcQfXqlX/CYfalTS0l
6Vpwrbo0u2wn1VMWEDGpCMen94GyQq9L+MIbh2oGUWcn/xJzfX7b3VxIq1u4aw9xWHOhqId8KXR
7hYPySwIFlpII/MrS0Cho3tTzrAGH2B46uNkPPetHJNNs0i5Z/6XVl78asFEy/AGaBnCb8vZWNN
LZCETsLwpCU7/MBqbGqQt4KgrTSepTGxcXWvQX/hLmilA==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 490A011F050;
Wed, 28 Sep 2022 19:45:40 +0000 (UTC)
MIME-Version: 1.0
Date: Wed, 28 Sep 2022 19:45:40 +0000
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "Fabian Hahn" <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CN8AJW90THKD.PFIGC78CGNGR@cirno>
In-Reply-To: <20220928185817.4406-1-fabian@hahn.graphics>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 47m9s
[fix Windows host support with relative paths][0] v2 from [Fabian Hahn][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/35674
[1]: mailto:fabian@hahn.graphics
=E2=9C=93 #852447 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/852447
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oi1-f170.google.com (mail-oi1-f170.google.com [209.85.167.170])
by mail-b.sr.ht (Postfix) with ESMTPS id 1A38711F0DA
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 29 Sep 2022 08:33:40 +0000 (UTC)
Received: by mail-oi1-f170.google.com with SMTP id d64so889810oia.9
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 29 Sep 2022 01:33:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date;
bh=k7f3v35257wecXHbrge3h66zdPnddoPFCoZyYUDOQ1k=;
b=oO4xAYm6SaxOJgUtCA93CRdnbs8ChGaXjMhWgV4pCxN0Om0960N26OcnzmN/OYlSOE
CMcBE75sKFrQFSDH1JDHmIhGJE1H7mo39A1FmMCGa6sSkl+KmUvgJi001Fp8P2hgTYJh
hj7cPJ/1PlBWgqjijx1F1dICLtDhC6vmkw/y6wOipGy1hO2RTTTYDvekd2mzeRZBGgYD
p3w/w8tfbbh0rPnM2M86o4pBfy9sTEtxb4K4DSZRYTihrF2i68J6wzH2tfJz99kiBfUD
UO+WlHP6w7KAzau5+exqOUuI60dj+QrpHfIa9t1Gf2bRvPYahi0cPqPK89gncHGp3WD9
nRqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date;
bh=k7f3v35257wecXHbrge3h66zdPnddoPFCoZyYUDOQ1k=;
b=WdVqoLIn3o9yV1kfcz0GWlVao2nbzYJiHlKDQyMBoXfvbE25If+/boS0/Av/ADZSTb
/i+YV12/F+eKPP9BbmeZGxZqvIUrespDSJpH0TXtY8yrUvC+k60m8/E3gtCTPh+suace
735Y4xOXmSQLT+rgwD6q+jhqdXmVuUDMJGQWk85Ym+qrR1Nsjrl5MoFVXU2j7nWOKjyh
wBm/NUXKns0fvK9JTtK6RNo66RnmfJvJnYdRczMQvJ0ZOpkRXROx/KHHZMRTfUanrIlS
HkdmT4TFdy6C0wG0O8VT/3r5dLBIQSEP9UluRkpWvUGJZPfmlLR16kaf1dcQFmmdmmTf
7J/A==
X-Gm-Message-State: ACrzQf0FHA8iDvttJTHFqSMc7YH74QX2b7jfUnUKEIAyL6Eb1dXROkwQ
tyr23T0VtCUPecwsXNxhiRuyBGKNRlUNcdTqID9F9eS5
X-Google-Smtp-Source: AMsMyM61D9h+aah20DtTQqLfSoKZsIYE8ReLUtOWgG+nolYSqPdkD11wuDCN1t1K4b/bnSCVmkNRpvB2zYsgLcGyiJo=
X-Received: by 2002:a05:6808:a0a:b0:350:aae9:3c7 with SMTP id
n10-20020a0568080a0a00b00350aae903c7mr6316454oij.216.1664440419323; Thu, 29
Sep 2022 01:33:39 -0700 (PDT)
MIME-Version: 1.0
References: <20220928185817.4406-1-fabian@hahn.graphics>
In-Reply-To: <20220928185817.4406-1-fabian@hahn.graphics>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Thu, 29 Sep 2022 11:33:28 +0300
Message-ID: <CAFVMu-rRSm9cm1o-h2V-=U53tDAaaV6TOzrRTPw5bkwCDB+H1A@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc v2] fix Windows host support with relative paths
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
On Wed, Sep 28, 2022 at 9:58 PM Fabian Hahn <fabian@hahn.graphics> wrote:
>
> ---
> Fixed the Windows scripts to support changing working directories.
> Apologies for missing this, it didn't come up in my testing so I wasn't
> sure if would be needed and skipped it. It's a bit more complicated now
> than just adding a single line, but should still be fine.
>
> Best,
> Fabian
>
Thanks! Applied and tagged v1.0.0-rc2.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f44.google.com (mail-oa1-f44.google.com [209.85.160.44])
by mail-b.sr.ht (Postfix) with ESMTPS id C420311EE64
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 25 Oct 2022 06:59:41 +0000 (UTC)
Received: by mail-oa1-f44.google.com with SMTP id 586e51a60fabf-13b103a3e5dso14554672fac.2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 24 Oct 2022 23:59:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=jf6+1+G0zOxE1rzJSq3uMSkjpwIdg2Fm/ARuAuCiiE4=;
b=sj+jKesr7+howUfNeubxE0bB9IUFuQxxluTnWHzeff0o+08+UCnMNLmWG72+sXVmkP
+MlRNCLIEXSSVxMKE4iIjPGeR0zHth7UdB4PBDUvkXht4aWV4F0k+gfTu/p8zIsUEBYQ
7vXg8z2ThTCvTouw18mWXi3cpz6BkNFEIwFueg7RTjJVMJis3tEkFlrAPaYc1s+ZvJqA
4FE6qyBOUsSRkwtW2ZCXy1sjoUjucLaa70BC0wgm8FOUifJsOzwbqi/7OgQVgBDMkOvc
OaTjqT9JUykT2iQwgE0guL4IgXVo38VU7IzLp9kqH9g0lCXwEKMuImwaeyxWd/sK44dq
Y6Hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=jf6+1+G0zOxE1rzJSq3uMSkjpwIdg2Fm/ARuAuCiiE4=;
b=cj6+CZKAZkYDaXF9QCvhKKMPkfANCO7DBTOX0yI3naboW2N4+fBx3cLrkWCXC1LwAC
a/qCrgSBLJ0Rpz3ZH3YPjORgAdRgeCYpv9bA4GqoLXQetsrJdMIRWRu3zqbGsc3a7fDL
o51u7QxBJ6LoHjyImAN0OBh427553i8FBbIJQJHq8bYeLmjOfrzZroAwgzTsI9u63dTh
8Bk/Pq/+gKFtkP6Z/LNk2jzc+6ZDq9pwA5PvOQZMxRJcWMVwuz8k8NZirgwvTnkZ7gGx
gwDHnRMLC1i9SZ3CxzelkpAzkF8JzGOHUnMo8G4Aa9dUZP7JUxp4bKCzGwnX3ehQbxYD
Xelw==
X-Gm-Message-State: ACrzQf0srv2JBlgd64+0eajB/2X28AvJjRCEPn8rttmla0CWzwei/ato
caiTAsXgy0FC0t7IMtLLTyFajDTdqgNGb+oForkiFKiLBcM=
X-Google-Smtp-Source: AMsMyM5TjyvBNtJz9Ax7S9fwoo7wObkMbBFsB/CFIikXxDEGL7H3GyUMcavLzcmP/sjYDQRKi9enj8H241LqPOwyStI=
X-Received: by 2002:a05:6870:6189:b0:13b:9640:6ed7 with SMTP id
a9-20020a056870618900b0013b96406ed7mr6496049oah.216.1666681180845; Mon, 24
Oct 2022 23:59:40 -0700 (PDT)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Tue, 25 Oct 2022 09:59:29 +0300
Message-ID: <CAFVMu-oZUxT8fXH_JBFbmW+7yZDD3a4NiAZHHyZab4i6vKjGnQ@mail.gmail.com>
Subject: what's cooking in bazel-zig-cc
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi folks,
I made a few -rc releases and things went silent. Well, they are
silent publicly, but I am very much working on v1.0.
A few open tracks:
- bazel-zig-cc is much slower than gcc/clang when building many small
binaries. https://git.sr.ht/~motiejus/test-zigcc reproduces it whlist
comparing to grailbio/bazel-toolchain.
- relative ZIG_LIB_DIR does not work correctly in zig, tracked in
https://github.com/ziglang/zig/issues/13050 ; currently bazel-zig-cc
ships a forked version which includes #13051 (created using
https://git.sr.ht/~motiejus/bazel-zig-cc/tree/main/item/contrib/README-patched.md
).
- rare race in zig when building glibc stubs:
https://github.com/ziglang/zig/issues/13160
I am currently narrowing down (1), so I can remove Bazel out of the
picture and engage ZSF. The other two have been escalated to ZSF under
Uber's support contract and we are awaiting resolution.
Hold tight!
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=mobileink-com.20210112.gappssmtp.com header.i=@mobileink-com.20210112.gappssmtp.com
Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178])
by mail-b.sr.ht (Postfix) with ESMTPS id 1A22211EE04
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 3 Nov 2022 14:40:48 +0000 (UTC)
Received: by mail-qt1-f178.google.com with SMTP id l2so1307345qtq.11
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Thu, 03 Nov 2022 07:40:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=mobileink-com.20210112.gappssmtp.com; s=20210112;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=jMlACLQlu7KNgsKUE+rAK6IghqNSJfYH0RjdLmrVNwc=;
b=F2ymHMAxYPTHHVkddf1RkYcUru30i438IKnogOhgx2PGeka9QhYCwxcKE3yvRLIRKr
bfvND/PoBnF4w7K/abneF32frSEikuiZOt+6JUhGEqu+2pd1xdjth9QRyJn0NvqVd3/Z
jJXRgVGUWi5gCU10aUN36Jps4fCYsm/3v1q6X+FAcUopVc1JEdmEurJ/WKisCHb6Fo8m
JAV51wEL3FMzcpEtpDAf9b2iuBtz7I09fcNWKws8zmGpr1Mfy8QG3wN1prlxvs17Tp15
zJOh54um2C/Si1tenjoB9ihvN1F9kyIWfYb7LFAludP+PYwzRYKieW28cT6zjMETFxzC
uy8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=jMlACLQlu7KNgsKUE+rAK6IghqNSJfYH0RjdLmrVNwc=;
b=UqANvCs1u4CAS9LDAK7q7Ed180Ay/+s94PMhOyz8l8kd9sNg224oyjotx/Z3hWQGCx
+3uH8Ii3p3aYrGBLMDWRGdXQx1ZVIhPK4uOicz2BVzHCwqAOjpGihok/ECWSy+gmGGEd
naRttCdFk3s6tCwmQlo28iYI0j0WdPW85vXOHpdCVnYxYYWZMkWBU7oUNrWNtuenPNaJ
4dob33dcBlL/eDTuwS17roLpdBJUUn1v4K1+gvkwvR9Pty90aXd4/jQ4h1N5EwROurJX
6k+FLIURrCGxFD9RwbJLnEn3icCkRPitC9GGZeP9fQctRSsnviCyii4niJwDFzmf/WQh
lpqA==
X-Gm-Message-State: ACrzQf3ZfOBmkT+fii0fDskzZ8ftnqiI1+8ZTRUYQq1I9syjGSXHHCHT
PCT0q4D/Hi3vD9X7KZEERUCYBCzU7Yb5jIZm/Sayq7c62RqwmQ==
X-Google-Smtp-Source: AMsMyM76BEOgp5tc15OQJxZrOL5rdJVe+f2RYvMfomhNJDZ6Ou3PzaBOOjdiHblfE6Q+cfyC6LCNsZYU0M8y/NaxeQQ=
X-Received: by 2002:ac8:1102:0:b0:3a5:3f57:ebeb with SMTP id
c2-20020ac81102000000b003a53f57ebebmr10605975qtj.59.1667486447325; Thu, 03
Nov 2022 07:40:47 -0700 (PDT)
MIME-Version: 1.0
From: Gregg Reynolds <dev@mobileink.com>
Date: Thu, 3 Nov 2022 09:40:36 -0500
Message-ID: <CAO40MinKZyYCg3xBgJR0_70zrBxctm81pbYtwyg=UJ9fYTFdmw@mail.gmail.com>
Subject: v1.0.0-rc1 fail on mac: stddef.h not found
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
First off: bazel-zig-cc is awesome, thanks so much!
Second: I tried to send this via the mailing list 'new post' button
and from gmail but both were rejected because they contain html.
Recommend you find a friendlier mailing list manager.
In any case here's the error:
runtime/caml/config.h:51:10: fatal error: 'stddef.h' file not found
#include <stddef.h>
^~~~~~~~~~
Selected tc:
INFO: ToolchainResolution: Target platform
@local_config_platform//:host: Selected execution platform
@local_config_platform//:host, type
@bazel_tools//tools/cpp:toolchain_type -> toolchain
@zig_sdk//:x86_64-macos-none_cc
Compile cmd:
external/zig_sdk/tools/c++ -MD -MF
bazel-out/host/bin/runtime/_objs/sak.exe/sak.d
'-frandom-seed=bazel-out/host/bin/runtime/_objs/sak.exe/sak.o'
'-DCAMLDLLIMPORT=' -DIN_CAML_RUNTIME -iquote . -iquote
bazel-out/host/bin -iquote external/bazel_tools -iquote
bazel-out/host/bin/external/bazel_tools
-Ibazel-out/host/bin/runtime/caml/_virtual_includes/hdrs -target
x86_64-macos-none -no-canonical-prefixes -Wno-builtin-macro-redefined
'-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"'
'-D__TIME__="redacted"' -O2 -DNDEBUG -g0 -fno-strict-aliasing -fwrapv
-pthread -Wall -Werror -fno-common -c runtime/sak.c -o
bazel-out/host/bin/runtime/_objs/sak.exe/sak.o)
System:
$ sw_vers
ProductName: macOS
ProductVersion: 12.6
BuildVersion: 21G115
$ xcodebuild -version
Xcode 14.1
Build version 14B47b
Thanks,
Gregg
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54])
by mail-b.sr.ht (Postfix) with ESMTPS id 0938D11EEE2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 4 Nov 2022 19:22:51 +0000 (UTC)
Received: by mail-lf1-f54.google.com with SMTP id b3so8689903lfv.2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 04 Nov 2022 12:22:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id
:reply-to;
bh=cYx3yJ/RDDFOSuaADVZfbpxRd8e1fxtTE0tODqcXZvY=;
b=l5h3FzQReJw0YY+o5aN9B1W73hto4wvBwHA9uqTpO+Rqxz/fi6EphKCKj1O/C2AW6m
FXylGQ3v9wTrwAAnQo4J5OJcvyFMSoN4gsZdkmmLpYSevg/kEr0bQq0+OEcfnclkkOkL
xfiWacTxR815RlINVd78QfXOXEHtSNVcSe9NohKcKrOpS2caid1eD6zaJIALtTFMT/SJ
QdYmgxQW3tfQMvnTLLhrJTU30bYaAtDpi3D6ny+zMcrogdvhukciyfYeraqCUo140DeK
S6JiBgMgIBMv1/q/NB1mZZgK6pdTS/zG2WZgk4b7l03a6RKAZ9qIeROwENBYTpg8pi6u
8n5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=cYx3yJ/RDDFOSuaADVZfbpxRd8e1fxtTE0tODqcXZvY=;
b=AsHMt4/q2cUf6b5jUTlmJ1R+XxvH7sy6tdbTWyySgub0ETTBslvliJf6HssZ4a+STw
rcLKvpfbbmxUUfKddXF8XDGgLp7QzRkWvfivlpi1uTzWPcOAf2RekO6QEm3SvDUOn8PS
fogoM0R82WwwOM4n3wYjWDPQzRnM8SPjc2TSnZBkwlRwgtu6LwfWFZgqUWrjHaUkvVvy
ahS/5jK7dLvV1XSshXTcPb4UcMy24h/HDgXBy+uDgeh8Jy1JdszsaTVQhQAejHI4qOtK
ES58jZ5Di/Jw8IE62MEy31BhKqQp7hIMaHhEWwBhQloDy0bwnHYakA+/W9VRivS6brg4
9wsQ==
X-Gm-Message-State: ACrzQf2UsKjdvUskZmJrzDNJnP8dbr+0y7sZe913fc1mn8J5vMisU1jK
/KNTHpM7Cy3IxQu4bA9vpFdNS12Yd18=
X-Google-Smtp-Source: AMsMyM6bqv/PdYuL2wSI9D/WIfaFf9BCRCxNpBwSX5Zco6vmH5ggQJE5zkIYl/shrimNCgdPoH8/0w==
X-Received: by 2002:a05:6512:3052:b0:4a2:67f0:eaaf with SMTP id b18-20020a056512305200b004a267f0eaafmr15048363lfb.34.1667589769360;
Fri, 04 Nov 2022 12:22:49 -0700 (PDT)
Received: from localhost (m90-131-45-252.cust.tele2.lt. [90.131.45.252])
by smtp.gmail.com with ESMTPSA id i14-20020a2ea22e000000b0026e8dd02eacsm44358ljm.16.2022.11.04.12.22.46
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 04 Nov 2022 12:22:48 -0700 (PDT)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Fri, 4 Nov 2022 21:22:44 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: Gregg Reynolds <dev@mobileink.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: v1.0.0-rc1 fail on mac: stddef.h not found
Message-ID: <20221104192244.r53ifvwhbnyuughu@mtmine.i.jakstys.lt>
References: <CAO40MinKZyYCg3xBgJR0_70zrBxctm81pbYtwyg=UJ9fYTFdmw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <CAO40MinKZyYCg3xBgJR0_70zrBxctm81pbYtwyg=UJ9fYTFdmw@mail.gmail.com>
On Thu, Nov 03, 2022 at 09:40:36AM -0500, Gregg Reynolds wrote:
> First off: bazel-zig-cc is awesome, thanks so much!
Hi, thanks!
> Second: I tried to send this via the mailing list 'new post' button
> and from gmail but both were rejected because they contain html.
> Recommend you find a friendlier mailing list manager.
bazel-zig-cc is planned to move to github.com/uber ; timelines are
unknown yet though. Will update this list when I have more details.
> In any case here's the error:
>
> runtime/caml/config.h:51:10: fatal error: 'stddef.h' file not found
> #include <stddef.h>
> ^~~~~~~~~~
Please use v0.9.2, the one that's recommended in the README. 1.0.0-rc
versions are known to have bugs. See my earlier posts in this mailing
list.
I will ping here separately when I will need extra hands testing v1.0.
It's not ready yet.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=mobileink-com.20210112.gappssmtp.com header.i=@mobileink-com.20210112.gappssmtp.com
Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47])
by mail-b.sr.ht (Postfix) with ESMTPS id 5902311EF1B
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 4 Nov 2022 21:10:51 +0000 (UTC)
Received: by mail-qv1-f47.google.com with SMTP id mi9so4024206qvb.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 04 Nov 2022 14:10:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=mobileink-com.20210112.gappssmtp.com; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=wwFDZqdO3rtoRHVwu4ZKuKsRuY8F7ZOEiEjtfPOftmw=;
b=CbgFEisgIrTS2Vv3iefgihY1xKWkOVX+eecol7d5bDFygdOZG0jfIRVCymHF4x7hkQ
gcL5F+5dX3ZYmP0fZYK+dkwhQa0XRMNxF7oRiBybFm47ReHMCAgtLoKf9FTCpgizg3fi
Bd8z/PQRUu/RTLrwpG5MwdFdJRqSVL6h4wR1VNc9bvj4S1t9tGvR/FE/8aEHf2v806Yt
3+m5RJLscKN+4ip7faecSnTC6EuDygD26UpftaeSm3KyRciynfTk095JCmGpBrk4WJ4W
pXhzvZhGuLZjlaHmUSUaQZaUVCVvJP3UCwdRqlWfr4pIQicsKlU2yhavqjnNLSl2Uzz0
eC7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=wwFDZqdO3rtoRHVwu4ZKuKsRuY8F7ZOEiEjtfPOftmw=;
b=pkqQqN+V+98+H5TdMtgf7egLO4iSKs7WX/PTaKsTp3R0n8aKwT1w1AzNC7JivO2DT6
WAPeW38jeVrD25w1LyLCFBCzg8AV+BrdC8P8jVzWtXHCnRqKsyGR4D8/r8oWUthVlUy/
bxhyoxOQcy50/bnjEzBFDZwgp2LoVH/uSM6zmeXmTLPhtYmsFFuBuJXVI9zksxfw1stP
FQdqPD7QWK89IQeXXOn6Dbhv3UI0lyBhpg7aAiLHzcBrIa8AnRDlgv6Qoy/Aa5LCmwF9
ol9CN3nLbswtf7Xkkf4hbd00UQ8SOuNiy6Ct0dptkdwTrxegnqIsRzqDNjoZ/aGPz5Sf
Zhag==
X-Gm-Message-State: ACrzQf2U/N/7KTmcljCd5C0WLX+6B25mA8Tc+HHRzWcaNTonRv3HrLUM
FTHQwBIof+Dmd0Lo+qdVKUrKra2Is+5IHr8EG0FH1VL/z6A=
X-Google-Smtp-Source: AMsMyM71d61IaU1620tQveHTo6060ovqlBWYOOv540Q8FClBcWmvoniSa2G555UJR0X0M3IEvQRAXEuLk95rocrZsiM=
X-Received: by 2002:a05:6214:4104:b0:4af:8576:e65a with SMTP id
kc4-20020a056214410400b004af8576e65amr34416169qvb.70.1667596250793; Fri, 04
Nov 2022 14:10:50 -0700 (PDT)
MIME-Version: 1.0
References: <CAO40MinKZyYCg3xBgJR0_70zrBxctm81pbYtwyg=UJ9fYTFdmw@mail.gmail.com>
<20221104192244.r53ifvwhbnyuughu@mtmine.i.jakstys.lt>
In-Reply-To: <20221104192244.r53ifvwhbnyuughu@mtmine.i.jakstys.lt>
From: Gregg Reynolds <dev@mobileink.com>
Date: Fri, 4 Nov 2022 16:10:40 -0500
Message-ID: <CAO40Mi=rKx0W6Xk1gwvaoi=EuNtc8cwPpjcFdAWvxXv7WVZ0_g@mail.gmail.com>
Subject: Re: v1.0.0-rc1 fail on mac: stddef.h not found
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Ok, thanks for the update.
On Fri, Nov 4, 2022 at 2:22 PM Motiejus Jak=C5=A1tys <motiejus@jakstys.lt> =
wrote:
>
> On Thu, Nov 03, 2022 at 09:40:36AM -0500, Gregg Reynolds wrote:
> > First off: bazel-zig-cc is awesome, thanks so much!
>
> Hi, thanks!
>
> > Second: I tried to send this via the mailing list 'new post' button
> > and from gmail but both were rejected because they contain html.
> > Recommend you find a friendlier mailing list manager.
>
> bazel-zig-cc is planned to move to github.com/uber ; timelines are
> unknown yet though. Will update this list when I have more details.
>
> > In any case here's the error:
> >
> > runtime/caml/config.h:51:10: fatal error: 'stddef.h' file not found
> > #include <stddef.h>
> > ^~~~~~~~~~
>
> Please use v0.9.2, the one that's recommended in the README. 1.0.0-rc
> versions are known to have bugs. See my earlier posts in this mailing
> list.
>
> I will ping here separately when I will need extra hands testing v1.0.
> It's not ready yet.
>
> Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 206AC11F051;
Sun, 11 Dec 2022 04:56:02 +0000 (UTC)
From: ~motiejus <motiejus@git.sr.ht>
Date: Sun, 11 Dec 2022 04:56:01 +0000
MIME-Version: 1.0
Subject: [PATCH bazel-zig-cc 0/1] changes in windows zig toolchain wrapper
Message-ID: <167073456185.10966.5711284970000433405-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~motiejus <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht, fabian@hahn.graphics
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
I am doing a change in Windows wrapper, which I have no means to test
nor know is correct. Fabian, please test/ack.
`--experimental_use_hermetic_linux_sandbox` option is interesting,
because instead of symlinks in the sandbox it creates hardlinks. Which
has a chance to fix https://github.com/ziglang/zig/issues/13619 ;
Bazel's acceptance test in https://git.sr.ht/~motiejus/test-zigcc.
Hermetic sandbox also means one thing: all outside-sandbox directories
need to be explicitly allowlisted with `sandbox_mount_pair`. Since the
toolchain wrapper uses /bin/sh, it brings a bunch of stuff with it:
/bin, /lib, /lib64. If my experiments with
`experimental_use_hermetic_linux_sandbox` will fix the performance
issue, the zig wrapper rewrite to zig will happen sooner than later (and
I may have an interesting bootstrap problem to solve).
Motiejus Jak=C5=A1tys (1):
toolchain wrapper: zig_exe path is relative
toolchain/defs.bzl | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
--=20
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 4841211F2BB;
Sun, 11 Dec 2022 04:56:02 +0000 (UTC)
From: ~motiejus <motiejus@git.sr.ht>
Date: Sun, 11 Dec 2022 06:43:28 +0200
Subject: [PATCH bazel-zig-cc 1/1] toolchain wrapper: zig_exe path is relative
MIME-Version: 1.0
Message-ID: <167073456185.10966.5711284970000433405-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~motiejus <motiejus@jakstys.lt>
In-Reply-To: <167073456185.10966.5711284970000433405-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht, fabian@hahn.graphics
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: Motiejus Jak=C5=A1tys <motiejus@uber.com>
Just like we know the path to zig_lib_dir, we do know the path to
zig_exe. Lets use that.
This was surfaced by experimenting with
`--experimental_use_hermetic_linux_sandbox`.
`repository_ctx.path("zig")` would return the real file system path to
zig (outside of the sandbox), which is not good when the sandbox is
hermetic.
---
toolchain/defs.bzl | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 3d08abd..752a663 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -92,21 +92,25 @@ _ZIG_TOOLS =3D [
_ZIG_TOOL_WRAPPER_WINDOWS_CACHE_KNOWN =3D """@echo off
if exist "external\\zig_sdk\\lib\\*" goto :have_external_zig_sdk_lib
set ZIG_LIB_DIR=3D%~dp0\\..\\..\\lib
+set ZIG_EXE=3D%~dp0\\..\\..\\zig
goto :set_zig_lib_dir
:have_external_zig_sdk_lib
set ZIG_LIB_DIR=3Dexternal\\zig_sdk\\lib
+set ZIG_EXE=3Dexternal\\zig_sdk\\zig
:set_zig_lib_dir
set ZIG_LOCAL_CACHE_DIR=3D{cache_prefix}\\bazel-zig-cc
set ZIG_GLOBAL_CACHE_DIR=3D%ZIG_LOCAL_CACHE_DIR%
-"{zig}" "{zig_tool}" {maybe_target} %*
+"$ZIG_EXE" "{zig_tool}" {maybe_target} %*
"""
=20
_ZIG_TOOL_WRAPPER_WINDOWS_CACHE_GUESS =3D """@echo off
if exist "external\\zig_sdk\\lib\\*" goto :have_external_zig_sdk_lib
set ZIG_LIB_DIR=3D%~dp0\\..\\..\\lib
+set ZIG_EXE=3D%~dp0\\..\\..\\zig
goto :set_zig_lib_dir
:have_external_zig_sdk_lib
set ZIG_LIB_DIR=3Dexternal\\zig_sdk\\lib
+set ZIG_EXE=3Dexternal\\zig_sdk\\zig
:set_zig_lib_dir
if exist "%TMP%\\*" goto :usertmp
set ZIG_LOCAL_CACHE_DIR=3DC:\\Temp\\bazel-zig-cc
@@ -115,29 +119,33 @@ goto zig
set ZIG_LOCAL_CACHE_DIR=3D%TMP%\\bazel-zig-cc
:zig
set ZIG_GLOBAL_CACHE_DIR=3D%ZIG_LOCAL_CACHE_DIR%
-"{zig}" "{zig_tool}" {maybe_target} %*
+"$ZIG_EXE" "{zig_tool}" {maybe_target} %*
"""
=20
_ZIG_TOOL_WRAPPER_CACHE_KNOWN =3D """#!/bin/sh
set -e
if [ -d external/zig_sdk/lib ]; then
ZIG_LIB_DIR=3Dexternal/zig_sdk/lib
+ ZIG_EXE=3Dexternal/zig_sdk/zig
else
ZIG_LIB_DIR=3D"$(dirname "$0")/../../lib"
+ ZIG_EXE=3D"$(dirname "$0")/../../zig"
fi
export ZIG_LIB_DIR
export ZIG_LOCAL_CACHE_DIR=3D"{cache_prefix}/bazel-zig-cc"
export ZIG_GLOBAL_CACHE_DIR=3D"{cache_prefix}/bazel-zig-cc"
{maybe_gohack}
-exec "{zig}" "{zig_tool}" {maybe_target} "$@"
+exec "$ZIG_EXE" "{zig_tool}" {maybe_target} "$@"
"""
=20
_ZIG_TOOL_WRAPPER_CACHE_GUESS =3D """#!/bin/sh
set -e
if [ -d external/zig_sdk/lib ]; then
ZIG_LIB_DIR=3Dexternal/zig_sdk/lib
+ ZIG_EXE=3Dexternal/zig_sdk/zig
else
ZIG_LIB_DIR=3D"$(dirname "$0")/../../lib"
+ ZIG_EXE=3D"$(dirname "$0")/../../zig"
fi
if [ -n "$TMPDIR" ]; then
_cache_prefix=3D$TMPDIR
@@ -154,7 +162,7 @@ export ZIG_LIB_DIR
export ZIG_LOCAL_CACHE_DIR=3D"$_cache_prefix/bazel-zig-cc"
export ZIG_GLOBAL_CACHE_DIR=3D$ZIG_LOCAL_CACHE_DIR
{maybe_gohack}
-exec "{zig}" "{zig_tool}" {maybe_target} "$@"
+exec "$ZIG_EXE" "{zig_tool}" {maybe_target} "$@"
"""
=20
# The abomination below adds "-O2" to Go's link-prober command. Saves around
@@ -176,14 +184,13 @@ fi
eval set -- "$saved"
"""
=20
-def _zig_tool_wrapper(zig_tool, zig, is_windows, cache_prefix, zigtarget):
+def _zig_tool_wrapper(zig_tool, is_windows, cache_prefix, zigtarget):
if zig_tool in ["c++", "build-exe", "build-lib", "build-obj"]:
maybe_target =3D "-target {}".format(zigtarget)
else:
maybe_target =3D ""
=20
kwargs =3D dict(
- zig =3D str(zig).replace("/", "\\") + ".exe" if is_windows else zig,
zig_tool =3D zig_tool,
cache_prefix =3D cache_prefix,
maybe_gohack =3D _ZIG_TOOL_GOHACK if (zig_tool =3D=3D "c++" and not =
is_windows) else "",
@@ -266,7 +273,6 @@ def _zig_repository_impl(repository_ctx):
for target_config in target_structs():
zig_tool_wrapper =3D _zig_tool_wrapper(
zig_tool,
- str(repository_ctx.path("zig")),
os =3D=3D "windows",
repository_ctx.os.environ.get("BAZEL_ZIG_CC_CACHE_PREFIX", "=
"),
zigtarget =3D target_config.zigtarget,
--=20
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=SEhhsERM2tiN+zXwqVbO2CXOMOTdt0C5v57GnHy/avQ=;
c=simple/simple; d=sr.ht; h=Date:To:Cc:From:In-Reply-To:Subject;
q=dns/txt; s=srht; t=1670735653; v=1;
b=SEFNUM+Ip5bueHhETm1VQapGJ2UloAIvplbMQH7UjJp24qUXpLPH91nIaLsFmgLMxh+DKTXF
pIv56Z15L9Yxwxv+JEKpUWtvg28UsfYb9xheSkXtpyctY886JISWp3zhUfsvKycIXAuKvEzW9fW
0ywMi50oaylIIlYBJGBKLpOgvaO4riPxHyzq6bOaj/SwagpMl20gnzIdx5PYKCMBePHJaVAgpRM
K3L/cmQKS7hHunaWDvtjRlHyu5QofQbM7nDDm7TwOJc7a+Ya2/i3qvE+gdboy8jkPoHeWG+7iWf
LpvUKQ9zigB7e+qL67KWgcyxEI7jE0efEy9qxD632lM5Q==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 70A9B11F051;
Sun, 11 Dec 2022 05:14:13 +0000 (UTC)
MIME-Version: 1.0
Date: Sun, 11 Dec 2022 05:14:13 +0000
To: "~motiejus" <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <COYQCZAXXEHO.1U9SF6RD39284@cirno>
In-Reply-To: <167073456185.10966.5711284970000433405-1@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build failed
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: FAILED in 18m9s
[changes in windows zig toolchain wrapper][0] from [~motiejus][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37457
[1]: mailto:motiejus@jakstys.lt
=E2=9C=97 #902752 FAILED bazel-zig-cc/patches/.build.yml https://builds.sr.=
ht/~motiejus/job/902752
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id A706A11EF16
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 11 Dec 2022 14:53:50 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1670770425;
bh=7Cya5rRskvQtJMLM4PNcWn0MIfEynP3CVGQLOZw3gw4=;
h=From:To:Cc:Subject;
b=SpntOUoK58nipd8RJgxmrLZtvPbf3MIOSbZWOPilLEDSjXeaba6ul2Oh969UVcuKg
WvNmLEqgB4tSkTaQJ4zuGHB7eP19Y2NuXFtOvrZ/GfsAHQJWRWDPKfmQclBFDxO7bQ
sBQ7pZv7FR2fgpF8Nq8cYidoNxqBVNLdxHUiB7o0=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc] fix windows include root path
Date: Sun, 11 Dec 2022 14:53:37 +0000
Message-Id: <20221211145337.4722-1-fabian@hahn.graphics>
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
---
When trying to test the patch
https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37457 I noticed that
the current main branch is broken on Windows. I ran a bisection and the
offending bad commit is 88e7e47ed20ca7b2f9509dfe09089b812d7d94eb, which
makes changes to the zig_include_root. Here's a small patch that
resolves this and fixes Windows host support again on main. The issue
here is that while paths on Windows do indeed use \ instead of /, the
variable `d` here is used as a bazel target name for a filegroup rule,
which must not contain backslashes. And bazel accepts forward slashes
within glob() just fine on Windows, so no special handling needed here.
toolchain/defs.bzl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index 3d08abd..aa2e4e6 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -318,6 +318,6 @@ def declare_files(os):
for target_config in target_structs():
for d in _DEFAULT_INCLUDE_DIRECTORIES + target_config.includes:
- d = "lib" + ("\\" if os == "windows" else "/") + d
+ d = "lib/" + d
if d not in lazy_filegroups:
lazy_filegroups[d] = filegroup(name = d, srcs = native.glob([d + "/**"]))
--
2.25.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 2823411EF16
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 11 Dec 2022 14:59:42 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1670770778;
bh=KshE725FUdjyTNQ0Y1VtqU7JIh3l6+b+PI+dREBWejg=;
h=From:To:Cc:Subject;
b=g4NLq/WF/nlKGZDU5NY5bHrc/EfG9I+Z7BC2Gqtw/KEQeOiiAzJZzyDB3gjYrgR72
VZCUvK0fwHc0h9wgK4ZJzrhB+Pn8SlVjGXBU6sQYft+1BkNLHr9KM1CDJbzhxMkCob
JveXjGkKvRNcGgf6hlmZZYJcctQxavB0Zv+6vAQE=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Subject: [PATCH bazel-zig-cc v2 0/1] changes in windows zig toolchain wrapper
Date: Sun, 11 Dec 2022 14:59:28 +0000
Message-Id: <20221211145929.5701-1-fabian@hahn.graphics>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is a revised version of
https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37457 which fixes
Windows host support. The key is to use %VAR% notation to interpolate
environment variables within batch file strings, and to use the proper
exe extension for the zig binary.
Note that in order for this to work on Windows, this other patch I
submitted also needs to be applied:
https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37465
This is because the current main is broken on Windows otherwise.
Best,
Fabian
Motiejus Jakštys (1):
toolchain wrapper: zig_exe path is relative
toolchain/defs.bzl | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
--
2.25.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 09C9911EF16
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 11 Dec 2022 14:59:43 +0000 (UTC)
From: Fabian Hahn <fabian@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1670770780;
bh=sKu6Fwv608vhiNqG38OqDveIHqZfZ63kFx0gzrfWuqQ=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=SWSa1cAZXAWuplP0wXd9v4NabJUNeVXzzaAPgHw2TEWKf+PrU+x2pb0pGI0URmI6k
f0P2EeATswa4KyUYP7VKkZ1FJmfNzKWpXcLQVOnArWMAMODqhPMUuRlGPUq7a9vBZN
T3JrDvip6RwpveyMnCMegb3NfV5SKTL44ZqsEioE=
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= <motiejus@uber.com>
Subject: [PATCH bazel-zig-cc v2 1/1] toolchain wrapper: zig_exe path is relative
Date: Sun, 11 Dec 2022 14:59:29 +0000
Message-Id: <20221211145929.5701-2-fabian@hahn.graphics>
In-Reply-To: <20221211145929.5701-1-fabian@hahn.graphics>
References: <20221211145929.5701-1-fabian@hahn.graphics>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Motiejus Jakštys <motiejus@uber.com>
Just like we know the path to zig_lib_dir, we do know the path to
zig_exe. Lets use that.
This was surfaced by experimenting with
`--experimental_use_hermetic_linux_sandbox`.
`repository_ctx.path("zig")` would return the real file system path to
zig (outside of the sandbox), which is not good when the sandbox is
hermetic.
---
toolchain/defs.bzl | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index aa2e4e6..746156d 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -92,21 +92,25 @@ _ZIG_TOOLS = [
_ZIG_TOOL_WRAPPER_WINDOWS_CACHE_KNOWN = """@echo off
if exist "external\\zig_sdk\\lib\\*" goto :have_external_zig_sdk_lib
set ZIG_LIB_DIR=%~dp0\\..\\..\\lib
+set ZIG_EXE=%~dp0\\..\\..\\zig.exe
goto :set_zig_lib_dir
:have_external_zig_sdk_lib
set ZIG_LIB_DIR=external\\zig_sdk\\lib
+set ZIG_EXE=external\\zig_sdk\\zig.exe
:set_zig_lib_dir
set ZIG_LOCAL_CACHE_DIR={cache_prefix}\\bazel-zig-cc
set ZIG_GLOBAL_CACHE_DIR=%ZIG_LOCAL_CACHE_DIR%
-"{zig}" "{zig_tool}" {maybe_target} %*
+"%ZIG_EXE%" "{zig_tool}" {maybe_target} %*
"""
_ZIG_TOOL_WRAPPER_WINDOWS_CACHE_GUESS = """@echo off
if exist "external\\zig_sdk\\lib\\*" goto :have_external_zig_sdk_lib
set ZIG_LIB_DIR=%~dp0\\..\\..\\lib
+set ZIG_EXE=%~dp0\\..\\..\\zig.exe
goto :set_zig_lib_dir
:have_external_zig_sdk_lib
set ZIG_LIB_DIR=external\\zig_sdk\\lib
+set ZIG_EXE=external\\zig_sdk\\zig.exe
:set_zig_lib_dir
if exist "%TMP%\\*" goto :usertmp
set ZIG_LOCAL_CACHE_DIR=C:\\Temp\\bazel-zig-cc
@@ -115,29 +119,33 @@ goto zig
set ZIG_LOCAL_CACHE_DIR=%TMP%\\bazel-zig-cc
:zig
set ZIG_GLOBAL_CACHE_DIR=%ZIG_LOCAL_CACHE_DIR%
-"{zig}" "{zig_tool}" {maybe_target} %*
+"%ZIG_EXE%" "{zig_tool}" {maybe_target} %*
"""
_ZIG_TOOL_WRAPPER_CACHE_KNOWN = """#!/bin/sh
set -e
if [ -d external/zig_sdk/lib ]; then
ZIG_LIB_DIR=external/zig_sdk/lib
+ ZIG_EXE=external/zig_sdk/zig
else
ZIG_LIB_DIR="$(dirname "$0")/../../lib"
+ ZIG_EXE="$(dirname "$0")/../../zig"
fi
export ZIG_LIB_DIR
export ZIG_LOCAL_CACHE_DIR="{cache_prefix}/bazel-zig-cc"
export ZIG_GLOBAL_CACHE_DIR="{cache_prefix}/bazel-zig-cc"
{maybe_gohack}
-exec "{zig}" "{zig_tool}" {maybe_target} "$@"
+exec "$ZIG_EXE" "{zig_tool}" {maybe_target} "$@"
"""
_ZIG_TOOL_WRAPPER_CACHE_GUESS = """#!/bin/sh
set -e
if [ -d external/zig_sdk/lib ]; then
ZIG_LIB_DIR=external/zig_sdk/lib
+ ZIG_EXE=external/zig_sdk/zig
else
ZIG_LIB_DIR="$(dirname "$0")/../../lib"
+ ZIG_EXE="$(dirname "$0")/../../zig"
fi
if [ -n "$TMPDIR" ]; then
_cache_prefix=$TMPDIR
@@ -154,7 +162,7 @@ export ZIG_LIB_DIR
export ZIG_LOCAL_CACHE_DIR="$_cache_prefix/bazel-zig-cc"
export ZIG_GLOBAL_CACHE_DIR=$ZIG_LOCAL_CACHE_DIR
{maybe_gohack}
-exec "{zig}" "{zig_tool}" {maybe_target} "$@"
+exec "$ZIG_EXE" "{zig_tool}" {maybe_target} "$@"
"""
# The abomination below adds "-O2" to Go's link-prober command. Saves around
@@ -176,14 +184,13 @@ fi
eval set -- "$saved"
"""
-def _zig_tool_wrapper(zig_tool, zig, is_windows, cache_prefix, zigtarget):
+def _zig_tool_wrapper(zig_tool, is_windows, cache_prefix, zigtarget):
if zig_tool in ["c++", "build-exe", "build-lib", "build-obj"]:
maybe_target = "-target {}".format(zigtarget)
else:
maybe_target = ""
kwargs = dict(
- zig = str(zig).replace("/", "\\") + ".exe" if is_windows else zig,
zig_tool = zig_tool,
cache_prefix = cache_prefix,
maybe_gohack = _ZIG_TOOL_GOHACK if (zig_tool == "c++" and not is_windows) else "",
@@ -266,7 +273,6 @@ def _zig_repository_impl(repository_ctx):
for target_config in target_structs():
zig_tool_wrapper = _zig_tool_wrapper(
zig_tool,
- str(repository_ctx.path("zig")),
os == "windows",
repository_ctx.os.environ.get("BAZEL_ZIG_CC_CACHE_PREFIX", ""),
zigtarget = target_config.zigtarget,
--
2.25.1
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=gT7xKJjOc/1EpJvoZQ71J0eekHIG+7u6QaPoSQv3F0E=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1670771490; v=1;
b=UUdqKUNb8uacCV2JEjsumQd/QJecOhRkKrAet0hW/6Hl4VgEkxHGS7y38/P3MYnPT1prnAFo
AXg7n2SuLZgkyiL/bDj+00Jq5ddDteGquArs5ZBzQTjjh6O0vKEEai04SjlAIrwKg/awX9mh4Zr
1kKhhFXY5sk+VCkZI9Qst8jjrhme2C2IC7YCAMTu1xOIZeozawmq/A4mAlGzsbuvrs88v/niCRo
btpyyPqtWSjZu+MZ2AP9wnyHRJS1un7LnD45IFgzhlj6ApU3STG99gyaxLDaJI8kWxRVJmbYEez
tPIQ509crvK7uNCDgZiyZd930ZBJNy4AE8qQMEgwnZpAQ==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 7F4BE11EF16;
Sun, 11 Dec 2022 15:11:30 +0000 (UTC)
MIME-Version: 1.0
Date: Sun, 11 Dec 2022 15:11:30 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <COZ32AMRZNWS.1U3FDYMROMMTJ@cirno>
In-Reply-To: <20221211145337.4722-1-fabian@hahn.graphics>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "Fabian Hahn" <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
bazel-zig-cc/patches/.build.yml: SUCCESS in 17m38s
[fix windows include root path][0] from [Fabian Hahn][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37465
[1]: mailto:fabian@hahn.graphics
=E2=9C=93 #902966 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/902966
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=dWs0WggYTNebMtC0i1Z/tFNbrDlbP48VuSL24yIPKF4=;
c=simple/simple; d=sr.ht; h=Date:In-Reply-To:Subject:To:Cc:From;
q=dns/txt; s=srht; t=1670771913; v=1;
b=dUW3XL7QbHXCRWODcWUT50O5fldY7S3cx4lVx9wu1kAAK959n1stMhIAmgzwMPKEX2X0P5io
w/sB8S0XssNAEpILZecZQ7Ac/tc6J3AL+xGPZPeyzv1xdFzcr3vFVbY3KMejCbg1IFuI1/pdxcb
Kawt3xw/8iJRDZA97v7DMHquBffLkfiA8PwHhpZjqwC/kzYytKyhm4B65U1IeTR1f15M57DGVQ5
0u82A4MlEmJtG4GhiJTIvotsLRML7BiJG1rUxjyFTF0JWsl33mxmFAgQnyyd9jAjLU3ar0avQqv
iaXk9hUOpygbrlI5pLW4RfBeiRp0AtV28p8DIcmdTsX9w==
Received: from localhost (unknown [173.195.146.244])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 34A6511EF16;
Sun, 11 Dec 2022 15:18:33 +0000 (UTC)
MIME-Version: 1.0
Date: Sun, 11 Dec 2022 15:18:33 +0000
Message-ID: <COZ37OR4QOLV.11C7959ZF8N9M@cirno2>
In-Reply-To: <20221211145929.5701-2-fabian@hahn.graphics>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "Fabian Hahn" <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 18m48s
[changes in windows zig toolchain wrapper][0] v2 from [Fabian Hahn][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37466
[1]: mailto:fabian@hahn.graphics
=E2=9C=93 #902967 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/902967
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51])
by mail-b.sr.ht (Postfix) with ESMTPS id 56CAB11EF2F
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 11 Dec 2022 16:32:00 +0000 (UTC)
Received: by mail-lf1-f51.google.com with SMTP id y25so14699483lfa.9
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 11 Dec 2022 08:32:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id
:reply-to;
bh=XzuoAlh6IDmX/e4P7zHpbMNsl+grZq2CS3bqWYvauYY=;
b=PgkwAc8n+WjWTU8lay7rY25pAogWGZw3EmgGkjZTH/Mh3pG1nqrgxFfFrH7pR22Crz
KjewdZU4iiI8WtaWnB3IsNZJz1D8VnDuU8jjb5saxNS7CCCiWYv38/O1VqzcRTxZidQq
ikOc6JrnX+cj49o+P01BrqyuD8otTVQCDfprikCyaJo4ra34B9Ke2gV4F5s5siHbz5dy
5TYXsy+k/1b27m34/W3Q1g1rX+yc6wPaC5WGqNnvdnY6pV5TyhJewHasQh7C5Vixh+/R
NZ9U7Ti3QXfIebxVqSONaVR2hHIsHncqXD1q4/h8yOMl3RBiXAR0xRDc+pYkYePbBF/t
uHHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=XzuoAlh6IDmX/e4P7zHpbMNsl+grZq2CS3bqWYvauYY=;
b=2ZbPviEVg4RsyfS+CSbAgZTaDcaOHQdhgnUCi3pD4dnjVD64DYxb1f5LjdIUpYDRb/
4sN8zE1N5/HXHjzAAcx5T4deJyIGB1xgqTJu5MLqOpXfUsi54eBrASCXNzJkwOuEqMON
cxj+KTejAZe7lAiXzHoEtPhUyqIZAMLyYBW9D9Pg3Ff2U8dlKY8Lvi1jn+c/ZV+rzPza
IyPFVJnV41NR+FXJgKGy4+7Dw1E7vawF9pW9y8f16KgNgr4ffBz6kJu0PM2AnpwROI35
cC2P/OSHNdxls5aDYDLtkySmnz97+5lhB83jebUaydyx7WVtlJkkc3NaET4s4pgYIiab
B+2Q==
X-Gm-Message-State: ANoB5pk4uNDEEfl+E3HbtCbOTUHsfmYMnHT06dUQW2RmxQWKkbAzVq0f
q7iLcI4XmSVazwanntbUHecUfSKqYG4=
X-Google-Smtp-Source: AA0mqf6XcpSBJkeV0UESaEJ9tx2dpk5usg4AfPj7UT60r4HdY7jXLKfmVpmTz7E5P8Oj7wGn9NgVEw==
X-Received: by 2002:ac2:58ea:0:b0:4a4:68b7:f86e with SMTP id v10-20020ac258ea000000b004a468b7f86emr4690733lfo.18.1670776318489;
Sun, 11 Dec 2022 08:31:58 -0800 (PST)
Received: from localhost ([88.223.105.24])
by smtp.gmail.com with ESMTPSA id m10-20020a056512358a00b004b585003839sm1235842lfr.265.2022.12.11.08.31.57
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sun, 11 Dec 2022 08:31:57 -0800 (PST)
Sender: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <desired.mta@gmail.com>
Date: Sun, 11 Dec 2022 18:31:56 +0200
From: Motiejus =?utf-8?Q?Jak=C5=A1tys?= <motiejus@jakstys.lt>
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Subject: Re: [PATCH bazel-zig-cc v2 0/1] changes in windows zig toolchain
wrapper
Message-ID: <20221211163156.evp5thus2itgiful@mtmine.i.jakstys.lt>
References: <20221211145929.5701-1-fabian@hahn.graphics>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20221211145929.5701-1-fabian@hahn.graphics>
On Sun, Dec 11, 2022 at 02:59:28PM +0000, Fabian Hahn wrote:
> This is a revised version of
> https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37457 which fixes
> Windows host support. The key is to use %VAR% notation to interpolate
> environment variables within batch file strings, and to use the proper
> exe extension for the zig binary.
>
> Note that in order for this to work on Windows, this other patch I
> submitted also needs to be applied:
> https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37465
> This is because the current main is broken on Windows otherwise.
Hi Fabian,
thank you, applied both.
Be assured that I will break Windows again. However, I will definitely
ask for your testing/feedback before I cut v1.0. Thanks for your
continued contributions.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52])
by mail-b.sr.ht (Postfix) with ESMTPS id 986F411F284
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 14 Dec 2022 13:19:16 +0000 (UTC)
Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-1322d768ba7so16526094fac.5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 14 Dec 2022 05:19:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=/YM5JhtOsbamKOhauM3du3FSimX3Xr1KXH8guB6PdaU=;
b=TN4Awr18kkm/s9QY1rHHfEC/DyyIH2G9rjwSfBhcR6ffQWvSDbSiLH86uzjU967eDw
EpGKaD2A+kO+nvUj0FeveXez7PTa7Ezg/8CbUh78sfFfLZrdUZLzpfDFfyiApurOR7d/
KrAWX70FJiJacYdzUDvj269CrQKhqoh8l+8ep+Yy2uQVkDD0NJRLdT7Gj57kves8tPaS
GKMQrTVEqjHLvtv1R/3lWu/ERVXIoxybHcaS3fGsrO+xNkjFQ1mxvCYVJ5RT43RoFXiJ
ZPCSsY3zZnpM/aYFdSL0NjJGjDoYWoCadzEI3hysRBJ+fsyTVKUYAxAFNdmG53Go5P2/
IMHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=/YM5JhtOsbamKOhauM3du3FSimX3Xr1KXH8guB6PdaU=;
b=4ThcRJ7KY8rgRVNLpvk0d+NfvYS3ZUlgvcAKWAmRqRCAPCoKLRCSjp9kPdmoKHgp/W
e5zGRTpHtriAS5a+xV5XmUqXKfGTXovOJ8EfLfZgbaI9arecyV1yq8U0DJzHcNCsDA9V
Y7l7MJExJDKXrRfjP53Mx5JqPh2byBHsUwB5qHP0u6G2gfVRzaA9VMD+Swyl6MljqN2M
4gMVIGKnSCnhUTzABwn83ZDAgVbdg7xJ1B8wGVCPq5qi1SO7SouifU1KjNc5GyoOsm/O
kOEMBqDR2BC/nxNoFhe5UYyIDcZPxkfJDHQFRQ6R/X5VgEZjyB6NlPp3dJI7v0ImK4KG
fDsg==
X-Gm-Message-State: AFqh2kqg1b0z0Q3bot3583L92TFQ4i2TS0tlzmkSQwtGH3vXIExNalUg
JzWt1/EYlipoQl9AovxyaaWFs84JzUkvF0olRVCf3uyi
X-Google-Smtp-Source: AMrXdXvksExt1FuthkzBs3iXHM1abzQrv02CRMiIXyuO3R4DhRartHbRV4cFZRKKyKGpS8OjLGHeuyot7Kr7NqqhNh8=
X-Received: by 2002:a05:6870:d147:b0:143:fa7f:2b29 with SMTP id
f7-20020a056870d14700b00143fa7f2b29mr228736oac.116.1671023955813; Wed, 14 Dec
2022 05:19:15 -0800 (PST)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Wed, 14 Dec 2022 15:19:04 +0200
Message-ID: <CAFVMu-pnKCOoK+KSqjiVvzME+eL6+N+Y83Q45bkY0rkKSc6xeQ@mail.gmail.com>
Subject: bazel-zig-cc v1.0.0-rc4: call for testers
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi all,
I just cut a v1.0.0-rc4 for testing. Comparing to v0.9 series it does
not have new features, but offers substantial performance gains:
* all compiler paths are now relative, making it remote-cache friendly.
* number of files it needs to pull in to the sandbox is much smaller:
2k for a compile step of x86_64-linux-gnu.2.28, and ~3700 for the
linking step. Compared to almost 16k previously.
Please test and report back any regressions. I tested Uber's Go
Monorepo with it, it seems fine. However, we are very x86_64-linux-gnu
centric (both host and target). Please run your tests *especially* if
you have a different environment.
All bazel-zig-cc contributors should have received an email asking for
permission to re-license it to Apache License 2.0. If you contributed
to bazel-zig-cc and did not receive that email, please let me know! I
am still waiting for a few replies. The sooner we change the license,
the sooner bazel-zig-cc can be put under Uber's open-source umbrella.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id 14CE711EEFC
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 14 Dec 2022 18:17:37 +0000 (UTC)
Message-ID: <a2ad4a4e-6cef-da88-1922-48c7d4717c64@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1671041851;
bh=BMp6CboYmE/Exg83TwZU/aQC/jh5oe7x5ndAVB68ZK8=;
h=To:Cc:References:Subject:From:In-Reply-To;
b=LHpTnQUc+qTS2hPpEmrHVdLMCMX7oQMXtbLA/NQNlBDdZ1foh60kwwE2YWW2YZgOH
QJIqx1eVlSPKduDugTPQfVIu97VpLVnUOSVTLjy6/BkkmGa5GOztUF4XG2uSxQ+QOA
rEt34hnFzyRCWb+ICpexFsOZMLbZ497Iz7CcJr4M=
Date: Wed, 14 Dec 2022 18:17:30 +0000
Mime-Version: 1.0
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: =?UTF-8?Q?Motiejus_Jak=c5=a1tys?= <motiejus@jakstys.lt>
References: <CAFVMu-pnKCOoK+KSqjiVvzME+eL6+N+Y83Q45bkY0rkKSc6xeQ@mail.gmail.com>
Subject: Re: bazel-zig-cc v1.0.0-rc4: call for testers
Content-Language: en-US
From: Fabian Hahn <fabian@hahn.graphics>
In-Reply-To: <CAFVMu-pnKCOoK+KSqjiVvzME+eL6+N+Y83Q45bkY0rkKSc6xeQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Hi Motiejus,
I've successfully tested v1.0.0-rc4 on both linux_amd64 and
windows_amd64 as both hosts and targets with my project. Performance
looks very good and I couldn't spot any regressions.
Best,
Fabian
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 4CB9411EF38
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 17 Dec 2022 01:00:18 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Sat, 17 Dec 2022 01:00:18 +0000
Subject: [PATCH bazel-zig-cc 0/1] Adds supports_dynamic_linker feature
MIME-Version: 1.0
Message-ID: <167123881817.10048.795028335685500161-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
I noticed that the default cc toolchain outputs .so files next to the
.a, and provides a "dynamic_library" output group. With bazel-zig-cc, an
attempt to use the "dynamic_library" output group fails with
> failed: Toolchain does not support dynamic linking
Maybe I'm missing something, but adding support seems as simple as
enabling the "supports_dynamic_linker" flag.
Jeremy Volkman (1):
Adds supports_dynamic_linker feature
toolchain/zig_toolchain.bzl | 6 ++++++
1 file changed, 6 insertions(+)
--
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 7DDEA11EFC3
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 17 Dec 2022 01:00:18 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Fri, 16 Dec 2022 16:44:57 -0800
Subject: [PATCH bazel-zig-cc 1/1] Adds supports_dynamic_linker feature
Message-ID: <167123881817.10048.795028335685500161-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
In-Reply-To: <167123881817.10048.795028335685500161-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
From: Jeremy Volkman <jeremy@jvolkman.com>
With this feature, cc_library generates a .so as well as a .a and the
"dynamic_library" output group is enabled.
---
toolchain/zig_toolchain.bzl | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/toolchain/zig_toolchain.bzl b/toolchain/zig_toolchain.bzl
index f76aa80..2578973 100644
--- a/toolchain/zig_toolchain.bzl
+++ b/toolchain/zig_toolchain.bzl
@@ -129,9 +129,15 @@ def _zig_cc_toolchain_config_impl(ctx):
flag_sets = dynamic_library_flag_sets,
)
+ supports_dynamic_linker = feature(
+ name = "supports_dynamic_linker",
+ enabled = True,
+ )
+
features = [
compile_and_link_flags,
default_linker_flags,
+ supports_dynamic_linker,
] + _compilation_mode_features(ctx)
return cc_common.create_cc_toolchain_config_info(
--
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=B4GNcGx65AMDP24hxZuXybpuduDUZjyLoGhAR8fLS3o=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1671239906; v=1;
b=AZSd92xt/wJIUIuQYCQh+zb4JwHRY7Yo9MFIQ6lbUnbT7OJ8XS2hSBytcnHhy44BEEkLiIlz
aZhe6SNyMWolSsX5HQAN6qQbBsUXZWA0tApokfTR6PTP4FxEx0LTsMg8002iZL9q/2p2mR2Z0P3
H+LmTEyDS74tuIwl6+0si28sE3BExfcOzPRxmmtM2ksu/xJMfXOdECIFlnq4RlVMyE+DfuQsLNd
wES+c1WgITlCcwuZf5T7rm+Kzdfly/ZsXSnHnS0333kD1J6O0Qo+R2IOsIFVMXksCP0vpZprCoJ
/H/vzcpQfFVxbH4UY/WpIjMWT6CSUrA6MmPca4ebRFR8w==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id EEDB511EF38;
Sat, 17 Dec 2022 01:18:26 +0000 (UTC)
MIME-Version: 1.0
Date: Sat, 17 Dec 2022 01:18:26 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CP3P3Q65ZUNA.3VDQONMO1EZ3D@cirno>
In-Reply-To: <167123881817.10048.795028335685500161-1@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~jvolkman" <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 18m7s
[Adds supports_dynamic_linker feature][0] from [~jvolkman][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37589
[1]: mailto:jeremy@jvolkman.com
=E2=9C=93 #906609 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/906609
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 3490811EF0D
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 17 Dec 2022 19:28:06 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Sat, 17 Dec 2022 19:28:05 +0000
Subject:
[PATCH bazel-zig-cc 0/2] Use -mcpu=apple_m1 when targeting macos + aarch64
MIME-Version: 1.0
Message-ID: <167130528597.14686.15641291907532780059-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
I ran into a build failure using bazel-zig-cc to build BoringSSL -
Google's OpenSSL fork that ships with Bazel rules. BoringSSL assumes
some features present on an M1 mac and fails if they're not present [1].
When using -target aarch64-macos.11-none, zig sets the cpu model to
"generic", as far as I can tell, which lacks a bunch of features -
including SHA2 and AES that BoringSSL is expecting. I think we can
assume that macos + aarch64 means at least an M1 ship, so instead we can
use the -mcpu=3Dapple_m1 flag which adds these features and more [3].
I also renamed _target_darwin to _target_macos to align with the Bazel
os name. I think darwin technically lies under iOS and Apple's other
mobile OSs as well.
1:
https://github.com/google/boringssl/blob/97dd962a20b1d19c9e569cf8756fbcfc48ff=
7c73/crypto/cpu_aarch64_apple.c#L56
2:
https://github.com/ziglang/zig/blob/90477e5c10c9c263a3c0038e1ae7b814d2c5397e/=
lib/std/target/aarch64.zig#L2031
3:
https://github.com/ziglang/zig/blob/90477e5c10c9c263a3c0038e1ae7b814d2c5397e/=
lib/std/target/aarch64.zig#L1507
Jeremy Volkman (2):
Rename _target_darwin to _target_macos
Use -mcpu=3Dapple_m1 when targeting macos + aarch64
toolchain/private/defs.bzl | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
--=20
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 4D5B511EF5B
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 17 Dec 2022 19:28:06 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Sat, 17 Dec 2022 10:19:28 -0800
Subject: [PATCH bazel-zig-cc 1/2] Rename _target_darwin to _target_macos
Message-ID: <167130528597.14686.15641291907532780059-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
In-Reply-To: <167130528597.14686.15641291907532780059-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
From: Jeremy Volkman <jeremy@cedarai.com>
This aligns with bazel's @platforms//os:macos
---
toolchain/private/defs.bzl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 96830ca..8387ce6 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -39,14 +39,14 @@ def zig_tool_path(os):
def target_structs():
ret = []
for zigcpu, gocpu in (("x86_64", "amd64"), ("aarch64", "arm64")):
- ret.append(_target_darwin(gocpu, zigcpu))
+ ret.append(_target_macos(gocpu, zigcpu))
ret.append(_target_windows(gocpu, zigcpu))
ret.append(_target_linux_musl(gocpu, zigcpu))
for glibc in _GLIBCS:
ret.append(_target_linux_gnu(gocpu, zigcpu, glibc))
return ret
-def _target_darwin(gocpu, zigcpu):
+def _target_macos(gocpu, zigcpu):
min_os = "11"
return struct(
gotarget = "darwin_{}".format(gocpu),
--
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 67C2811EF0D
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 17 Dec 2022 19:28:06 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Sat, 17 Dec 2022 10:26:04 -0800
Subject:
[PATCH bazel-zig-cc 2/2] Use -mcpu=apple_m1 when targeting macos + aarch64
Message-ID: <167130528597.14686.15641291907532780059-2@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
In-Reply-To: <167130528597.14686.15641291907532780059-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
From: Jeremy Volkman <jeremy@cedarai.com>
---
toolchain/private/defs.bzl | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 8387ce6..8571621 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -48,6 +48,11 @@ def target_structs():
def _target_macos(gocpu, zigcpu):
min_os = "11"
+ copts = []
+
+ if zigcpu == "aarch64":
+ copts = ["-mcpu=apple_m1"]
+
return struct(
gotarget = "darwin_{}".format(gocpu),
zigtarget = "{}-macos-none".format(zigcpu),
@@ -59,7 +64,7 @@ def _target_macos(gocpu, zigcpu):
"libc/include/any-macos-any",
] + _INCLUDE_TAIL,
dynamic_library_linkopts = ["-Wl,-undefined=dynamic_lookup"],
- copts = [],
+ copts = copts,
libc = "darwin",
bazel_target_cpu = "darwin",
constraint_values = [
--
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=4+EoGXdTYKSFBPZqzlT3wwpXHnnEGxav8ELNjt9LerM=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1671306380; v=1;
b=E/O0ssHT/MtvNxttPg0W2VQvOxVHWaGvpydQUsQv83D0vi84H2HSqEUBPvKrmGLEdviGjQWx
x1M1RsYxuv9v+8fNwYPEI3CFnVOALYSlkdZUamKmCwMZhiHyrmHXsJ4Y1bnWag4jYl7yQADDNkI
q1pWJ3L/WRtUvWVWULRLrlNPxAaVrTHJ8+w1DoEumtdT1Y1YwOSigQ37t22vJyPoi5Wy1H82jh2
ZMuYp79X0YW3B7T5AK4C/Hky93cWa+Z91mhvj/BYsdRdmZANg0IwE8wvFtJvR608w/TIF9LsSTi
CRW5R6R7x97QYRiY4T1W0yEmNzSTSzZnN2jWN49xVgS4g==
Received: from localhost (unknown [173.195.146.244])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 1E98611EF0D;
Sat, 17 Dec 2022 19:46:20 +0000 (UTC)
MIME-Version: 1.0
Date: Sat, 17 Dec 2022 19:46:20 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CP4CNZH0ZPUG.247Z9P6ZBAT67@cirno2>
In-Reply-To: <167130528597.14686.15641291907532780059-2@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~jvolkman" <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 18m11s
[Use -mcpu=3Dapple_m1 when targeting macos + aarch64][0] from [~jvolkman][1=
]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37601
[1]: mailto:jeremy@jvolkman.com
=E2=9C=93 #906945 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/906945
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id E89F411F103
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 17 Dec 2022 23:56:27 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Sat, 17 Dec 2022 23:56:27 +0000
Subject: [PATCH bazel-zig-cc 0/1] Use artifact_name_pattern to specify proper
macos and windows artifact names
MIME-Version: 1.0
Message-ID: <167132138766.5086.1705176352038753909-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
I found that Bazel's cc toolchain system allows specifying artifact name
patterns. So we can make shared libraries end with ".dylib" on macos and
".dll" on Windows. This is likely a breaking change for anyone relying
on the defaults, but it seems like the proper thing to do, and the
built-in toolchains do the same thing.
There wasn't an obvious way to pass complex values from the
target_structs entries to the zig_cc_toolchain_config rule, so I opted
to pass a list of json-encoded strings. One other way I thought of was
to break the artifact_name_pattern parameters into
"artifact_name_prefixes" and "artifact_name_suffixes" dicts which would
fit into an attr.string_dict, but it was adding complexity for not much
gain IMO.
I based this patch on top of my other two recent patchsets. It might not
apply cleanly on top of main, but conflicts should be small.
Jeremy Volkman (1):
Use artifact_name_pattern to specify proper macos and windows artifact
names.
README.md | 11 -----------
toolchain/private/cc_toolchains.bzl | 5 +++++
toolchain/private/defs.bzl | 26 ++++++++++++++++++++++++++
toolchain/zig_toolchain.bzl | 7 +++++++
4 files changed, 38 insertions(+), 11 deletions(-)
--
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 1EC9111F161
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 17 Dec 2022 23:56:28 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Sat, 17 Dec 2022 15:27:21 -0800
Subject: [PATCH bazel-zig-cc 1/1] Use artifact_name_pattern to specify proper
macos and windows artifact names.
Message-ID: <167132138766.5086.1705176352038753909-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
In-Reply-To: <167132138766.5086.1705176352038753909-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Jeremy Volkman <jeremy@cedarai.com>
On macos, dynamic libraries are generated as "libfoo.dylib".
On windows, executables end with ".exe", static libraries end with ".lib",
and dynamic libraries end with ".dll".
---
README.md | 11 -----------
toolchain/private/cc_toolchains.bzl | 5 +++++
toolchain/private/defs.bzl | 26 ++++++++++++++++++++++++++
toolchain/zig_toolchain.bzl | 7 +++++++
4 files changed, 38 insertions(+), 11 deletions(-)
diff --git a/README.md b/README.md
index c447ae8..3931247 100644
--- a/README.md
+++ b/README.md
@@ -338,17 +338,6 @@ is currently not implemented.
target macos.10 (Catalina), macos.11 (Big Sur) or macos.12 (Monterey). It
currently targets the lowest version, without ability to change it.
=20
-## Windows only: output file extensions
-
-For Windows targets Bazel uses Unix extensions for output binaries. Those may
-need to be renamed before deploying to the Windows system. Here is a primer:
-
-| Binary type | Bazel extension | Windows extension |
-|----------------|-----------------|-------------------|
-| Static library | .a | .lib |
-| Shared library | .so | .dll |
-| Executable | (no extension) | .exe |
-
# Known Issues In Upstream
=20
This section lists issues that I've stumbled into when using `zig cc`, and is
diff --git a/toolchain/private/cc_toolchains.bzl b/toolchain/private/cc_toolc=
hains.bzl
index 3fa0b93..a935ef5 100644
--- a/toolchain/private/cc_toolchains.bzl
+++ b/toolchain/private/cc_toolchains.bzl
@@ -39,6 +39,10 @@ def declare_cc_toolchains(os, zig_sdk_path):
for incl in getattr(target_config, "compiler_extra_includes", []):
copts =3D copts + ["-include", zig_sdk_path + "/" + incl]
=20
+ # We can't pass a list of structs to a rule, so we use json encoding.
+ artifact_name_patterns =3D getattr(target_config, "artifact_name_pat=
terns", [])
+ artifact_name_pattern_strings =3D [json.encode(p) for p in artifact_=
name_patterns]
+
zig_cc_toolchain_config(
name =3D zigtarget + "_cc_config",
target =3D zigtarget,
@@ -53,6 +57,7 @@ def declare_cc_toolchains(os, zig_sdk_path):
compiler =3D "clang",
abi_version =3D "unknown",
abi_libc_version =3D "unknown",
+ artifact_name_patterns =3D artifact_name_pattern_strings,
visibility =3D ["//visibility:private"],
)
=20
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 8571621..9409f5e 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -72,6 +72,13 @@ def _target_macos(gocpu, zigcpu):
"@platforms//cpu:{}".format(zigcpu),
],
tool_paths =3D {"ld": "ld64.lld"},
+ artifact_name_patterns =3D [
+ {
+ "category_name": "dynamic_library",
+ "prefix": "lib",
+ "extension": ".dylib",
+ },
+ ],
)
=20
def _target_windows(gocpu, zigcpu):
@@ -92,6 +99,23 @@ def _target_windows(gocpu, zigcpu):
"@platforms//cpu:{}".format(zigcpu),
],
tool_paths =3D {"ld": "ld64.lld"},
+ artifact_name_patterns =3D [
+ {
+ "category_name": "static_library",
+ "prefix": "",
+ "extension": ".lib",
+ },
+ {
+ "category_name": "dynamic_library",
+ "prefix": "",
+ "extension": ".dll",
+ },
+ {
+ "category_name": "executable",
+ "prefix": "",
+ "extension": ".exe",
+ },
+ ],
)
=20
def _target_linux_gnu(gocpu, zigcpu, glibc_version):
@@ -126,6 +150,7 @@ def _target_linux_gnu(gocpu, zigcpu, glibc_version):
],
libc_constraint =3D "@zig_sdk//libc:{}".format(glibc_suffix),
tool_paths =3D {"ld": "ld.lld"},
+ artifact_name_patterns =3D [],
)
=20
def _target_linux_musl(gocpu, zigcpu):
@@ -151,4 +176,5 @@ def _target_linux_musl(gocpu, zigcpu):
],
libc_constraint =3D "@zig_sdk//libc:musl",
tool_paths =3D {"ld": "ld.lld"},
+ artifact_name_patterns =3D [],
)
diff --git a/toolchain/zig_toolchain.bzl b/toolchain/zig_toolchain.bzl
index 2578973..974221f 100644
--- a/toolchain/zig_toolchain.bzl
+++ b/toolchain/zig_toolchain.bzl
@@ -1,6 +1,7 @@
load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES")
load(
"@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
+ "artifact_name_pattern",
"feature",
"feature_set",
"flag_group",
@@ -140,6 +141,10 @@ def _zig_cc_toolchain_config_impl(ctx):
supports_dynamic_linker,
] + _compilation_mode_features(ctx)
=20
+ artifact_name_patterns =3D [
+ artifact_name_pattern(**json.decode(p)) for p in ctx.attr.artifact_n=
ame_patterns
+ ]
+
return cc_common.create_cc_toolchain_config_info(
ctx =3D ctx,
features =3D features,
@@ -156,6 +161,7 @@ def _zig_cc_toolchain_config_impl(ctx):
for name, path in ctx.attr.tool_paths.items()
],
cxx_builtin_include_directories =3D ctx.attr.cxx_builtin_include_dir=
ectories,
+ artifact_name_patterns =3D artifact_name_patterns,
)
=20
zig_cc_toolchain_config =3D rule(
@@ -174,6 +180,7 @@ zig_cc_toolchain_config =3D rule(
"compiler": attr.string(),
"abi_version": attr.string(),
"abi_libc_version": attr.string(),
+ "artifact_name_patterns": attr.string_list(),
},
provides =3D [CcToolchainConfigInfo],
)
--=20
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=lQ/sf/yE9eKxhnwauX7K3Ve92atirTQn6we2cXX7mcA=;
c=simple/simple; d=sr.ht; h=Date:To:Cc:From:In-Reply-To:Subject;
q=dns/txt; s=srht; t=1671321437; v=1;
b=glOY+ahAMS8qZax0hyzlXX+m53d5GExecJWP4AWd7GOQRgY2d70bimtRL8FCmBVIFAA5Ue1+
oDb+DikuQE58h2j4rgBOxeGBxFr1b9Rxvxc7eFnbGElOhODkcflEkc7BhW5V1Q6agyFpVOdUfLs
vvCNTnw7BAbh4BafAh3niYNYMQaePxZqiiQHxeCY37Ep3XblAY1xQJobNaHtbhyX6iF8H8Tg4+M
tZMNXNSYnZ4eO6vuUf+HpwQ7QDnF8Y9tcVNgVrLP4urhOL2ozErBAjs/DQzzyYD282hPnRUEOU+
/0VvVL9ukWzetNVROsaZ2RXOdeozP4NAs3yzA0sYDaMhw==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 7C92F11F103;
Sat, 17 Dec 2022 23:57:17 +0000 (UTC)
MIME-Version: 1.0
Date: Sat, 17 Dec 2022 23:57:17 +0000
To: "~jvolkman" <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CP4I04SZK598.1JK9JTPTL69N9@cirno>
In-Reply-To: <167132138766.5086.1705176352038753909-1@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build failed
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
bazel-zig-cc/patches/.build.yml: FAILED in 47s
[Use artifact_name_pattern to specify proper macos and windows artifact nam=
es][0] from [~jvolkman][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37613
[1]: mailto:jeremy@jvolkman.com
=E2=9C=97 #907041 FAILED bazel-zig-cc/patches/.build.yml https://builds.sr.=
ht/~motiejus/job/907041
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id DB6C811F103
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 18 Dec 2022 00:03:47 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Sun, 18 Dec 2022 00:03:47 +0000
Subject: [PATCH bazel-zig-cc v2 0/1] Use artifact_name_pattern to specify
proper macos and windows artifact names
MIME-Version: 1.0
Message-ID: <167132182778.22969.1520355961703744701-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
[This is the second revision which should apply cleanly to the main
branch]
I found that Bazel's cc toolchain system allows specifying artifact name
patterns. So we can make shared libraries end with ".dylib" on macos and
".dll" on Windows. This is likely a breaking change for anyone relying
on the defaults, but it seems like the proper thing to do, and the
built-in toolchains do the same thing.
There wasn't an obvious way to pass complex values from the
target_structs entries to the zig_cc_toolchain_config rule, so I opted
to pass a list of json-encoded strings. One other way I thought of was
to break the artifact_name_pattern parameters into
"artifact_name_prefixes" and "artifact_name_suffixes" dicts which would
fit into an attr.string_dict, but it was adding complexity for not much
gain IMO.
Jeremy Volkman (1):
Use artifact_name_pattern to specify proper macos and windows artifact
names.
README.md | 11 -----------
toolchain/private/cc_toolchains.bzl | 5 +++++
toolchain/private/defs.bzl | 26 ++++++++++++++++++++++++++
toolchain/zig_toolchain.bzl | 7 +++++++
4 files changed, 38 insertions(+), 11 deletions(-)
--
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 019CA11F161
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 18 Dec 2022 00:03:48 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Sat, 17 Dec 2022 15:27:21 -0800
Subject: [PATCH bazel-zig-cc v2 1/1] Use artifact_name_pattern to specify
proper macos and windows artifact names.
Message-ID: <167132182778.22969.1520355961703744701-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
In-Reply-To: <167132182778.22969.1520355961703744701-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Jeremy Volkman <jeremy@cedarai.com>
On macos, dynamic libraries are generated as "libfoo.dylib".
On windows, executables end with ".exe", static libraries end with ".lib",
and dynamic libraries end with ".dll".
---
README.md | 11 -----------
toolchain/private/cc_toolchains.bzl | 5 +++++
toolchain/private/defs.bzl | 26 ++++++++++++++++++++++++++
toolchain/zig_toolchain.bzl | 7 +++++++
4 files changed, 38 insertions(+), 11 deletions(-)
diff --git a/README.md b/README.md
index c447ae8..3931247 100644
--- a/README.md
+++ b/README.md
@@ -338,17 +338,6 @@ is currently not implemented.
target macos.10 (Catalina), macos.11 (Big Sur) or macos.12 (Monterey). It
currently targets the lowest version, without ability to change it.
=20
-## Windows only: output file extensions
-
-For Windows targets Bazel uses Unix extensions for output binaries. Those may
-need to be renamed before deploying to the Windows system. Here is a primer:
-
-| Binary type | Bazel extension | Windows extension |
-|----------------|-----------------|-------------------|
-| Static library | .a | .lib |
-| Shared library | .so | .dll |
-| Executable | (no extension) | .exe |
-
# Known Issues In Upstream
=20
This section lists issues that I've stumbled into when using `zig cc`, and is
diff --git a/toolchain/private/cc_toolchains.bzl b/toolchain/private/cc_toolc=
hains.bzl
index 3fa0b93..a935ef5 100644
--- a/toolchain/private/cc_toolchains.bzl
+++ b/toolchain/private/cc_toolchains.bzl
@@ -39,6 +39,10 @@ def declare_cc_toolchains(os, zig_sdk_path):
for incl in getattr(target_config, "compiler_extra_includes", []):
copts =3D copts + ["-include", zig_sdk_path + "/" + incl]
=20
+ # We can't pass a list of structs to a rule, so we use json encoding.
+ artifact_name_patterns =3D getattr(target_config, "artifact_name_pat=
terns", [])
+ artifact_name_pattern_strings =3D [json.encode(p) for p in artifact_=
name_patterns]
+
zig_cc_toolchain_config(
name =3D zigtarget + "_cc_config",
target =3D zigtarget,
@@ -53,6 +57,7 @@ def declare_cc_toolchains(os, zig_sdk_path):
compiler =3D "clang",
abi_version =3D "unknown",
abi_libc_version =3D "unknown",
+ artifact_name_patterns =3D artifact_name_pattern_strings,
visibility =3D ["//visibility:private"],
)
=20
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 96830ca..3ff4cd0 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -67,6 +67,13 @@ def _target_darwin(gocpu, zigcpu):
"@platforms//cpu:{}".format(zigcpu),
],
tool_paths =3D {"ld": "ld64.lld"},
+ artifact_name_patterns =3D [
+ {
+ "category_name": "dynamic_library",
+ "prefix": "lib",
+ "extension": ".dylib",
+ },
+ ],
)
=20
def _target_windows(gocpu, zigcpu):
@@ -87,6 +94,23 @@ def _target_windows(gocpu, zigcpu):
"@platforms//cpu:{}".format(zigcpu),
],
tool_paths =3D {"ld": "ld64.lld"},
+ artifact_name_patterns =3D [
+ {
+ "category_name": "static_library",
+ "prefix": "",
+ "extension": ".lib",
+ },
+ {
+ "category_name": "dynamic_library",
+ "prefix": "",
+ "extension": ".dll",
+ },
+ {
+ "category_name": "executable",
+ "prefix": "",
+ "extension": ".exe",
+ },
+ ],
)
=20
def _target_linux_gnu(gocpu, zigcpu, glibc_version):
@@ -121,6 +145,7 @@ def _target_linux_gnu(gocpu, zigcpu, glibc_version):
],
libc_constraint =3D "@zig_sdk//libc:{}".format(glibc_suffix),
tool_paths =3D {"ld": "ld.lld"},
+ artifact_name_patterns =3D [],
)
=20
def _target_linux_musl(gocpu, zigcpu):
@@ -146,4 +171,5 @@ def _target_linux_musl(gocpu, zigcpu):
],
libc_constraint =3D "@zig_sdk//libc:musl",
tool_paths =3D {"ld": "ld.lld"},
+ artifact_name_patterns =3D [],
)
diff --git a/toolchain/zig_toolchain.bzl b/toolchain/zig_toolchain.bzl
index f76aa80..7bd31ee 100644
--- a/toolchain/zig_toolchain.bzl
+++ b/toolchain/zig_toolchain.bzl
@@ -1,6 +1,7 @@
load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES")
load(
"@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
+ "artifact_name_pattern",
"feature",
"feature_set",
"flag_group",
@@ -134,6 +135,10 @@ def _zig_cc_toolchain_config_impl(ctx):
default_linker_flags,
] + _compilation_mode_features(ctx)
=20
+ artifact_name_patterns =3D [
+ artifact_name_pattern(**json.decode(p)) for p in ctx.attr.artifact_n=
ame_patterns
+ ]
+
return cc_common.create_cc_toolchain_config_info(
ctx =3D ctx,
features =3D features,
@@ -150,6 +155,7 @@ def _zig_cc_toolchain_config_impl(ctx):
for name, path in ctx.attr.tool_paths.items()
],
cxx_builtin_include_directories =3D ctx.attr.cxx_builtin_include_dir=
ectories,
+ artifact_name_patterns =3D artifact_name_patterns,
)
=20
zig_cc_toolchain_config =3D rule(
@@ -168,6 +174,7 @@ zig_cc_toolchain_config =3D rule(
"compiler": attr.string(),
"abi_version": attr.string(),
"abi_libc_version": attr.string(),
+ "artifact_name_patterns": attr.string_list(),
},
provides =3D [CcToolchainConfigInfo],
)
--=20
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=8rBuJCAjAvEg2EB1R2O+D8aaQ7Nim31RACivz90X7bI=;
c=simple/simple; d=sr.ht; h=Date:From:In-Reply-To:Subject:To:Cc;
q=dns/txt; s=srht; t=1671321889; v=1;
b=qnHQPLW3aaXAmBWztMlUo1O0HWkVPqre6SE0s+JkmAeIsNKG9xxMZ43m5GVHYsf1qw5UPs1N
iwEPo+KZE1D5KkY8jHeXrE8J3z9YOofmy+6ikPzP37e3FIfsKR3gpsLzsrhv288A5o7zTYCgT8e
Mcm/Cj/oz+linchVvFDN/GMbQ3HIL+ZRtJEoclqk7qDud1uj/Sicf9J3f8s+DarTGF4tj1vbHBx
ZEb/OaAxWG6XEKl9+y2YIc8C/EOr/Q0Zejro9OIz8ZbxSQ5qFEbp1uSKJxMQABejLxnEZfwCOIb
4TpbOuKv98L8kA8ZIIyPz6m9FgYCV775ADW2B5kq0vPdw==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 81DF011F103;
Sun, 18 Dec 2022 00:04:49 +0000 (UTC)
MIME-Version: 1.0
Date: Sun, 18 Dec 2022 00:04:49 +0000
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CP4I5WHKFI7T.8GIPTF6JMCNI@cirno>
In-Reply-To: <167132182778.22969.1520355961703744701-1@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build failed
To: "~jvolkman" <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: FAILED in 1m0s
[Use artifact_name_pattern to specify proper macos and windows artifact nam=
es][0] v2 from [~jvolkman][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37614
[1]: mailto:jeremy@jvolkman.com
=E2=9C=97 #907046 FAILED bazel-zig-cc/patches/.build.yml https://builds.sr.=
ht/~motiejus/job/907046
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 9353311F0F6
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 18 Dec 2022 00:18:23 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Sun, 18 Dec 2022 00:18:23 +0000
Subject: [PATCH bazel-zig-cc v3 0/1] Use artifact_name_pattern to specify
proper macos and windows artifact names
MIME-Version: 1.0
Message-ID: <167132270337.32399.6857496830832816046-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Changelog:
# v2: should apply cleanly to the main branch
# v3: fix a linter error
I found that Bazel's cc toolchain system allows specifying artifact name
patterns. So we can make shared libraries end with ".dylib" on macos and
".dll" on Windows. This is likely a breaking change for anyone relying
on the defaults, but it seems like the proper thing to do, and the
built-in toolchains do the same thing.
There wasn't an obvious way to pass complex values from the
target_structs entries to the zig_cc_toolchain_config rule, so I opted
to pass a list of json-encoded strings. One other way I thought of was
to break the artifact_name_pattern parameters into
"artifact_name_prefixes" and "artifact_name_suffixes" dicts which would
fit into an attr.string_dict, but it was adding complexity for not much
gain IMO.
Jeremy Volkman (1):
Use artifact_name_pattern to specify proper macos and windows artifact
names.
README.md | 11 -----------
toolchain/private/cc_toolchains.bzl | 5 +++++
toolchain/private/defs.bzl | 26 ++++++++++++++++++++++++++
toolchain/zig_toolchain.bzl | 8 ++++++++
4 files changed, 39 insertions(+), 11 deletions(-)
--
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id B1BCD11F103
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 18 Dec 2022 00:18:23 +0000 (UTC)
From: ~jvolkman <jvolkman@git.sr.ht>
Date: Sat, 17 Dec 2022 15:27:21 -0800
Subject: [PATCH bazel-zig-cc v3 1/1] Use artifact_name_pattern to specify
proper macos and windows artifact names.
Message-ID: <167132270337.32399.6857496830832816046-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~jvolkman <jeremy@jvolkman.com>
In-Reply-To: <167132270337.32399.6857496830832816046-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
From: Jeremy Volkman <jeremy@cedarai.com>
On macos, dynamic libraries are generated as "libfoo.dylib".
On windows, executables end with ".exe", static libraries end with ".lib",
and dynamic libraries end with ".dll".
---
README.md | 11 -----------
toolchain/private/cc_toolchains.bzl | 5 +++++
toolchain/private/defs.bzl | 26 ++++++++++++++++++++++++++
toolchain/zig_toolchain.bzl | 8 ++++++++
4 files changed, 39 insertions(+), 11 deletions(-)
diff --git a/README.md b/README.md
index c447ae8..3931247 100644
--- a/README.md
+++ b/README.md
@@ -338,17 +338,6 @@ is currently not implemented.
target macos.10 (Catalina), macos.11 (Big Sur) or macos.12 (Monterey). It
currently targets the lowest version, without ability to change it.
=20
-## Windows only: output file extensions
-
-For Windows targets Bazel uses Unix extensions for output binaries. Those may
-need to be renamed before deploying to the Windows system. Here is a primer:
-
-| Binary type | Bazel extension | Windows extension |
-|----------------|-----------------|-------------------|
-| Static library | .a | .lib |
-| Shared library | .so | .dll |
-| Executable | (no extension) | .exe |
-
# Known Issues In Upstream
=20
This section lists issues that I've stumbled into when using `zig cc`, and is
diff --git a/toolchain/private/cc_toolchains.bzl b/toolchain/private/cc_toolc=
hains.bzl
index 3fa0b93..a935ef5 100644
--- a/toolchain/private/cc_toolchains.bzl
+++ b/toolchain/private/cc_toolchains.bzl
@@ -39,6 +39,10 @@ def declare_cc_toolchains(os, zig_sdk_path):
for incl in getattr(target_config, "compiler_extra_includes", []):
copts =3D copts + ["-include", zig_sdk_path + "/" + incl]
=20
+ # We can't pass a list of structs to a rule, so we use json encoding.
+ artifact_name_patterns =3D getattr(target_config, "artifact_name_pat=
terns", [])
+ artifact_name_pattern_strings =3D [json.encode(p) for p in artifact_=
name_patterns]
+
zig_cc_toolchain_config(
name =3D zigtarget + "_cc_config",
target =3D zigtarget,
@@ -53,6 +57,7 @@ def declare_cc_toolchains(os, zig_sdk_path):
compiler =3D "clang",
abi_version =3D "unknown",
abi_libc_version =3D "unknown",
+ artifact_name_patterns =3D artifact_name_pattern_strings,
visibility =3D ["//visibility:private"],
)
=20
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 96830ca..3ff4cd0 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -67,6 +67,13 @@ def _target_darwin(gocpu, zigcpu):
"@platforms//cpu:{}".format(zigcpu),
],
tool_paths =3D {"ld": "ld64.lld"},
+ artifact_name_patterns =3D [
+ {
+ "category_name": "dynamic_library",
+ "prefix": "lib",
+ "extension": ".dylib",
+ },
+ ],
)
=20
def _target_windows(gocpu, zigcpu):
@@ -87,6 +94,23 @@ def _target_windows(gocpu, zigcpu):
"@platforms//cpu:{}".format(zigcpu),
],
tool_paths =3D {"ld": "ld64.lld"},
+ artifact_name_patterns =3D [
+ {
+ "category_name": "static_library",
+ "prefix": "",
+ "extension": ".lib",
+ },
+ {
+ "category_name": "dynamic_library",
+ "prefix": "",
+ "extension": ".dll",
+ },
+ {
+ "category_name": "executable",
+ "prefix": "",
+ "extension": ".exe",
+ },
+ ],
)
=20
def _target_linux_gnu(gocpu, zigcpu, glibc_version):
@@ -121,6 +145,7 @@ def _target_linux_gnu(gocpu, zigcpu, glibc_version):
],
libc_constraint =3D "@zig_sdk//libc:{}".format(glibc_suffix),
tool_paths =3D {"ld": "ld.lld"},
+ artifact_name_patterns =3D [],
)
=20
def _target_linux_musl(gocpu, zigcpu):
@@ -146,4 +171,5 @@ def _target_linux_musl(gocpu, zigcpu):
],
libc_constraint =3D "@zig_sdk//libc:musl",
tool_paths =3D {"ld": "ld.lld"},
+ artifact_name_patterns =3D [],
)
diff --git a/toolchain/zig_toolchain.bzl b/toolchain/zig_toolchain.bzl
index f76aa80..bebd1da 100644
--- a/toolchain/zig_toolchain.bzl
+++ b/toolchain/zig_toolchain.bzl
@@ -1,6 +1,7 @@
load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES")
load(
"@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
+ "artifact_name_pattern",
"feature",
"feature_set",
"flag_group",
@@ -134,6 +135,11 @@ def _zig_cc_toolchain_config_impl(ctx):
default_linker_flags,
] + _compilation_mode_features(ctx)
=20
+ artifact_name_patterns =3D [
+ artifact_name_pattern(**json.decode(p))
+ for p in ctx.attr.artifact_name_patterns
+ ]
+
return cc_common.create_cc_toolchain_config_info(
ctx =3D ctx,
features =3D features,
@@ -150,6 +156,7 @@ def _zig_cc_toolchain_config_impl(ctx):
for name, path in ctx.attr.tool_paths.items()
],
cxx_builtin_include_directories =3D ctx.attr.cxx_builtin_include_dir=
ectories,
+ artifact_name_patterns =3D artifact_name_patterns,
)
=20
zig_cc_toolchain_config =3D rule(
@@ -168,6 +175,7 @@ zig_cc_toolchain_config =3D rule(
"compiler": attr.string(),
"abi_version": attr.string(),
"abi_libc_version": attr.string(),
+ "artifact_name_patterns": attr.string_list(),
},
provides =3D [CcToolchainConfigInfo],
)
--=20
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=24fbNqgKGb5+hnCSSGK5euIUNyLWMMmzDHdiEAKm20Y=;
c=simple/simple; d=sr.ht; h=Date:Subject:To:Cc:From:In-Reply-To;
q=dns/txt; s=srht; t=1671323784; v=1;
b=p43ZnUo7iXAS2erOyTIrINtLtrbwMzVt+R1IPoQxG6UXBu2+4skXEaWauN10LYsmnNgSWnrL
Dj1+aqUNP+kOGxxGz4C7kH4+LubNmXsPwwsCV67igwMrcQsLspxPT8ZbHmfgCQZR4IfJp++Jg2J
HsdYP7OQis89yFoohCux2xhXMJT5IYWS7hHs8spCzzi6mwocylXVtarAfFbG9D+iT0aOXxUTYrb
k0mhe33Ijg3/goe9rqVfOzQbjYpgLhTXHuDdSCXVdznphuEn6FRsmHYlSS4YiAnZhB6lyiySd7j
D/SVJ5Nj18/LppJwdXe8t2GLQsWHAnHbVThhyjXC4RQTg==
Received: from localhost (unknown [173.195.146.249])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id B933611F0F6;
Sun, 18 Dec 2022 00:36:24 +0000 (UTC)
MIME-Version: 1.0
Date: Sun, 18 Dec 2022 00:36:24 +0000
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~jvolkman" <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CP4IU33AM0YO.2Y1R1A3B83MJJ@cirno>
In-Reply-To: <167132270337.32399.6857496830832816046-1@git.sr.ht>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
bazel-zig-cc/patches/.build.yml: SUCCESS in 17m59s
[Use artifact_name_pattern to specify proper macos and windows artifact nam=
es][0] v3 from [~jvolkman][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37615
[1]: mailto:jeremy@jvolkman.com
=E2=9C=93 #907052 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/907052
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f41.google.com (mail-oa1-f41.google.com [209.85.160.41])
by mail-b.sr.ht (Postfix) with ESMTPS id 7E26911EF68
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sun, 18 Dec 2022 03:33:16 +0000 (UTC)
Received: by mail-oa1-f41.google.com with SMTP id 586e51a60fabf-1433ef3b61fso7900385fac.10
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Sat, 17 Dec 2022 19:33:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=VQQ5JQQXydXvQrrZM6bgyC/G5bES5UgkO+QOKjvz0Ho=;
b=5seBlbZXjIy94Gr8XclRAZ6R2v/Nj4WFjcfp0ZrEaE/hQPEVbpzOLAegTCz1XXnoJH
Z+8ZWCAmlrxuwBUDQ5G4sPjmMeRIgEIF869YSVsqRiF3zmp/fbs6FlNCnFkuGf4qsb+N
stxiAVEa2rf60FiMwl/4M/IGRduQNvIAKSotixLMqAKrkmmn67tEHF4cbNgSZeg1K7Gi
+jQ+Wy+szKQl+Dm0kHow43o/wkGMx6YGIVAcsqlOo9PSjvJunBaHp2AcvIr07QB9tp3V
fheQ4xSMIB6W/BNm+Nz+rb6IfG8eLsJD4wHPEQ2bpodm4ASnmhDG5pls6OXyESjOTDV9
kQwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=VQQ5JQQXydXvQrrZM6bgyC/G5bES5UgkO+QOKjvz0Ho=;
b=sJVZXkEGtJLQB7i9Q9KEqL4uRrP0Xey/2GEjnrbnK1rZlBbKHMvxb9r60nTxUlnJ13
V9E63U3n1vIc0b5L+wYlUrz2uic26sPxeMNOap5WPnQrwqQtB0/XdnZL0AugZvkeUnQv
pMZlk6hni5E62ikjuUUMYLA5T+xuqr3d5Z8ySJyz0svbCBAveS3yH8Y82EmkVQYtZi7e
OoylzxhADMfwzUpcxBk0qdviZEr8a6IuZKZNyo+XgvSS3ibtLJxSTb5lB7DQWHfse30j
lqFzpuTuZvrWyJ7So/W8QvLTeJ2uB/y8M9y7teAVhs8VK1P7w3NN693azGmP22xVF28t
l4YA==
X-Gm-Message-State: AFqh2kp0PnV6747vhhxqcArKCeNCxc7pxaNTSc5U+bU9VHb8GBAdjBxh
8xmST05gEdzmhWUgoGZX5GTIG/5XL4lzLEFeM/I=
X-Google-Smtp-Source: AMrXdXte+V60oaY3T4ine7Xqbr5Q2j2ashSMuQdH9RG66mOT4iN/4Px4KzJrOYZsavMrc/UPABTopoGqIVKu02GE7XI=
X-Received: by 2002:a05:6870:d147:b0:143:fa7f:2b29 with SMTP id
f7-20020a056870d14700b00143fa7f2b29mr1301172oac.116.1671334395794; Sat, 17
Dec 2022 19:33:15 -0800 (PST)
MIME-Version: 1.0
References: <167132270337.32399.6857496830832816046-0@git.sr.ht> <167132270337.32399.6857496830832816046-1@git.sr.ht>
In-Reply-To: <167132270337.32399.6857496830832816046-1@git.sr.ht>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Sun, 18 Dec 2022 05:33:04 +0200
Message-ID: <CAFVMu-qp3cuDjMvQ9_qhFHXziN+iOwinPYN9=0d9Qqu17BSv4Q@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc v3 1/1] Use artifact_name_pattern to specify
proper macos and windows artifact names.
To: "~jvolkman" <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
On Sun, Dec 18, 2022 at 2:18 AM ~jvolkman <jvolkman@git.sr.ht> wrote:
>
> From: Jeremy Volkman <jeremy@cedarai.com>
>
> On macos, dynamic libraries are generated as "libfoo.dylib".
>
> On windows, executables end with ".exe", static libraries end with ".lib",
> and dynamic libraries end with ".dll".
> ---
> README.md | 11 -----------
> toolchain/private/cc_toolchains.bzl | 5 +++++
> toolchain/private/defs.bzl | 26 ++++++++++++++++++++++++++
> toolchain/zig_toolchain.bzl | 8 ++++++++
> 4 files changed, 39 insertions(+), 11 deletions(-)
Thanks! Applied all 4 patches verbatim.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id D675011EF44;
Fri, 23 Dec 2022 11:04:31 +0000 (UTC)
From: ~motiejus <motiejus@git.sr.ht>
Date: Fri, 23 Dec 2022 11:04:31 +0000
MIME-Version: 1.0
Subject:
[PATCH bazel-zig-cc 0/1] zig launcher: replace shell wrappers with a binary
Message-ID: <167179347159.25324.12223141818448163553-0@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~motiejus <motiejus@jakstys.lt>
To: ~motiejus/bazel-zig-cc@lists.sr.ht, fabian@hahn.graphics
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
TLDR: I am looking to replace the two (unix and windows) shell scripts
with a single program with unit tests. Motivations and more discussion
in the commit message. If there are any concerns with it, it is a great
time to raise them.
Fabian, I did my best to test this "on windows" without actually having
a windows host. Please let me know if it works for you. Hopefully I
don't break the windows wrapper ever again!
Motiejus Jak=C5=A1tys (1):
zig launcher: replace shell wrappers with a binary
.build.yml | 9 +-
ci/launcher | 13 +
ci/test | 25 +-
toolchain/defs.bzl | 128 +++------
toolchain/launcher.zig | 531 +++++++++++++++++++++++++++++++++++++
toolchain/private/defs.bzl | 2 +-
6 files changed, 613 insertions(+), 95 deletions(-)
create mode 100755 ci/launcher
create mode 100644 toolchain/launcher.zig
--=20
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=none
Received: from git.sr.ht (unknown [173.195.146.142])
by mail-b.sr.ht (Postfix) with ESMTPSA id 0259E11EF68;
Fri, 23 Dec 2022 11:04:32 +0000 (UTC)
From: ~motiejus <motiejus@git.sr.ht>
Date: Tue, 20 Dec 2022 17:00:50 +0200
Subject:
[PATCH bazel-zig-cc 1/1] zig launcher: replace shell wrappers with a binary
MIME-Version: 1.0
Message-ID: <167179347159.25324.12223141818448163553-1@git.sr.ht>
X-Mailer: git.sr.ht
Reply-to: ~motiejus <motiejus@jakstys.lt>
In-Reply-To: <167179347159.25324.12223141818448163553-0@git.sr.ht>
To: ~motiejus/bazel-zig-cc@lists.sr.ht, fabian@hahn.graphics
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: Motiejus Jak=C5=A1tys <motiejus@uber.com>
Until now we needed to maintain two versions of the zig launcher: one
for Windows and one for everything else. This was problematic for two
reasons:
1. I do not know powershell and thus keep breaking the Windows wrapper
all the time (see git history of Fabian fixing stuff that I broke).
2. This makes bazel-zig-cc dependent on the system shell, making it not
really hermetic. So the recently added
`--experimental_use_hermetic_linux_sandbox` does not work with
bazel-zig-cc, unless we bind-mount a bunch of stuff: `/usr`, `/bin`,
`/lib`, `/usr/lib:/lib`, `/usr/lib64:/lib64` and `/proc`.
Switching to a Zig-based wrapper solves both issues, and we can do this:
bazel build "$@" \
--experimental_use_hermetic_linux_sandbox \
--sandbox_add_mount_pair=3D/proc \
<...>
Zig itself still depends on `/proc` for `/proc/self/exe`, so we need to
keep that. I will look into reducing even that dependency separately.
Not all is nice and shiny though: this commit replaces ~80 LOC worth of
shell scripts wrappers with a singe ~250 LOC zig program, which is
arguably harder to understand. However, it is easier to change, at least
for me, because it's a single file with unit tests! Most importantly,
the gnarly code (which resolves paths and sets environment variables) is
cross-platform.
---
.build.yml | 9 +-
ci/launcher | 13 +
ci/test | 25 +-
toolchain/defs.bzl | 128 +++------
toolchain/launcher.zig | 531 +++++++++++++++++++++++++++++++++++++
toolchain/private/defs.bzl | 2 +-
6 files changed, 613 insertions(+), 95 deletions(-)
create mode 100755 ci/launcher
create mode 100644 toolchain/launcher.zig
diff --git a/.build.yml b/.build.yml
index 664b847..e12a558 100644
--- a/.build.yml
+++ b/.build.yml
@@ -31,6 +31,13 @@ tasks:
- list_toolchains_platforms: |
cd bazel-zig-cc; . .envrc
./ci/list_toolchains_platforms
+ - test_launcher: |
+ cd bazel-zig-cc; . .envrc
+ ./ci/launcher --color=3Dyes --curses=3Dyes
- test: |
cd bazel-zig-cc; . .envrc
- ./ci/test --color=3Dyes --curses=3Dyes
+ export BAZEL_ZIG_CC_CACHE_PREFIX=3D/tmp/bazel-zig-cc-2
+ ./ci/test \
+ --color=3Dyes --curses=3Dyes \
+ --repo_env BAZEL_ZIG_CC_CACHE_PREFIX=3D$BAZEL_ZIG_CC_CACHE_PREFIX \
+ --sandbox_writable_path "$BAZEL_ZIG_CC_CACHE_PREFIX"
diff --git a/ci/launcher b/ci/launcher
new file mode 100755
index 0000000..2c57c8f
--- /dev/null
+++ b/ci/launcher
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+set -xeuo pipefail
+
+# until bazel-zig-cc gets a zig toolchain, run launcher's unit tests here.
+bazel run "$@" @zig_sdk//:zig -- test toolchain/launcher.zig
+
+# ReleaseSafe because of https://github.com/ziglang/zig/issues/14036
+bazel run "$@" @zig_sdk//:zig -- test \
+ -OReleaseSafe \
+ -target x86_64-windows-gnu \
+ --test-cmd wine64-stable \
+ --test-cmd-bin \
+ toolchain/launcher.zig
diff --git a/ci/test b/ci/test
index e3f4cf5..4cbc3ca 100755
--- a/ci/test
+++ b/ci/test
@@ -1,16 +1,29 @@
#!/usr/bin/env bash
-set -euo pipefail
+set -xeuo pipefail
+
+BAZEL_ZIG_CC_CACHE_PREFIX=3D${BAZEL_ZIG_CC_CACHE_PREFIX:-/tmp/bazel-zig-cc}
+mkdir -p "${BAZEL_ZIG_CC_CACHE_PREFIX}"
=20
bazel test "$@" ...
=20
-# /tmp/bazel-zig-cc should be empty for the test below to be valid.
-# This test ensures that github.com/ziglang/zig/issues/13050 does not
-# regress
-find /tmp/bazel-zig-cc -name mutex_destructor.o -execdir file '{}' \; | \
+bazel clean; bazel shutdown
+
+# smoke-test a very hermetic setup with a single target. Re-building all of
+# them takes a long time, so using only one. If we ever decide to build all
+# targets, we will need to exclude Go, since go dynamically links to glibc on
+# linux.
+bazel build "$@" \
+ --experimental_use_hermetic_linux_sandbox \
+ --sandbox_add_mount_pair=3D/proc \
+ //test/c:which_libc_linux_amd64_gnu.2.19
+
+# $BAZEL_ZIG_CC_CACHE_PREFIX should be empty for the test below to be valid.
+# Ensure that github.com/ziglang/zig/issues/13050 does not regress
+find "$BAZEL_ZIG_CC_CACHE_PREFIX" -name mutex_destructor.o -execdir file '{}=
' \; | \
sort | uniq -c | sort -rn > /tmp/got_cache
=20
diff -u ci/testdata/want_cache /tmp/got_cache || {
>&2 echo "ERROR: unexpected artifacts."
- >&2 echo "Was /tmp/bazel-zig-cc empty before the test?"
+ >&2 echo "Was $BAZEL_ZIG_CC_CACHE_PREFIX empty before the test?"
exit 1
}
diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl
index dfd1ef8..483d9fa 100644
--- a/toolchain/defs.bzl
+++ b/toolchain/defs.bzl
@@ -1,3 +1,4 @@
+load("@bazel_skylib//lib:paths.bzl", "paths")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "read_user_netrc", "us=
e_netrc")
load("@bazel-zig-cc//toolchain/private:defs.bzl", "target_structs", "zig_too=
l_path")
@@ -79,83 +80,8 @@ def toolchains(
_ZIG_TOOLS =3D [
"c++",
"ar",
- "build-exe",
- "build-lib",
- "build-obj",
]
=20
-_ZIG_TOOL_WRAPPER_WINDOWS_CACHE =3D """@echo off
-if exist "external\\zig_sdk\\lib\\*" goto :have_external_zig_sdk_lib
-set ZIG_LIB_DIR=3D%~dp0\\..\\..\\lib
-set ZIG_EXE=3D%~dp0\\..\\..\\zig.exe
-goto :set_zig_lib_dir
-:have_external_zig_sdk_lib
-set ZIG_LIB_DIR=3Dexternal\\zig_sdk\\lib
-set ZIG_EXE=3Dexternal\\zig_sdk\\zig.exe
-:set_zig_lib_dir
-set ZIG_LOCAL_CACHE_DIR=3D{cache_prefix}\\bazel-zig-cc
-set ZIG_GLOBAL_CACHE_DIR=3D%ZIG_LOCAL_CACHE_DIR%
-"%ZIG_EXE%" "{zig_tool}" {maybe_target} %*
-"""
-
-_ZIG_TOOL_WRAPPER_CACHE =3D """#!/bin/sh
-set -e
-if [ -d external/zig_sdk/lib ]; then
- ZIG_LIB_DIR=3Dexternal/zig_sdk/lib
- ZIG_EXE=3Dexternal/zig_sdk/zig
-else
- ZIG_LIB_DIR=3D"$(dirname "$0")/../../lib"
- ZIG_EXE=3D"$(dirname "$0")/../../zig"
-fi
-export ZIG_LIB_DIR
-export ZIG_LOCAL_CACHE_DIR=3D"{cache_prefix}/bazel-zig-cc"
-export ZIG_GLOBAL_CACHE_DIR=3D"{cache_prefix}/bazel-zig-cc"
-{maybe_gohack}
-exec "$ZIG_EXE" "{zig_tool}" {maybe_target} "$@"
-"""
-
-# The hackery below will be deleted after Go 1.20 is released (in particular,
-# if/after https://go-review.googlesource.com/c/go/+/436884 )
-# Arg-messing snippet from
-# https://web.archive.org/web/20100129154217/http://www.seanius.net/blog/200=
9/03/saving-and-restoring-positional-params
-_ZIG_TOOL_GOHACK =3D """
-quote(){ echo "$1" | sed -e "s,','\\\\'',g"; }
-for arg in "$@"; do saved=3D"${saved:+$saved }'$(quote "$arg")'"; done
-while [ "$#" -gt 6 ]; do shift; done
-if [ "$*" =3D "-Wl,--no-gc-sections -x c - -o /dev/null" ]; then
- # This command probes if `--no-gc-sections` is accepted by the linker.
- # Since it is executed in /tmp, the ZIG_LIB_DIR is absolute,
- # glibc stubs and libc++ cannot be shared with other invocations (which use
- # a relative ZIG_LIB_DIR).
- exit 0;
-fi
-eval set -- "$saved"
-"""
-
-def _zig_tool_wrapper(zig_tool, is_windows, cache_prefix, zigtarget):
- if zig_tool in ["c++", "build-exe", "build-lib", "build-obj"]:
- maybe_target =3D "-target {}".format(zigtarget)
- else:
- maybe_target =3D ""
-
- if not cache_prefix:
- if is_windows:
- cache_prefix =3D "C:\\Temp\\bazel-zig-cc"
- else:
- cache_prefix =3D "/tmp/bazel-zig-cc"
-
- kwargs =3D dict(
- zig_tool =3D zig_tool,
- cache_prefix =3D cache_prefix,
- maybe_gohack =3D _ZIG_TOOL_GOHACK if (zig_tool =3D=3D "c++" and not =
is_windows) else "",
- maybe_target =3D maybe_target,
- )
-
- if is_windows:
- return _ZIG_TOOL_WRAPPER_WINDOWS_CACHE.format(**kwargs)
- else:
- return _ZIG_TOOL_WRAPPER_CACHE.format(**kwargs)
-
def _quote(s):
return "'" + s.replace("'", "'\\''") + "'"
=20
@@ -217,22 +143,50 @@ def _zig_repository_impl(repository_ctx):
sha256 =3D zig_sha256,
)
=20
+ cache_prefix =3D repository_ctx.os.environ.get("BAZEL_ZIG_CC_CACHE_PREFI=
X", "")
+ if cache_prefix =3D=3D "":
+ if os =3D=3D "windows":
+ cache_prefix =3D "C:\\Temp\\bazel-zig-cc"
+ else:
+ cache_prefix =3D "/tmp/bazel-zig-cc"
+
+ repository_ctx.template(
+ "tools/launcher.zig",
+ Label("//toolchain:launcher.zig"),
+ executable =3D False,
+ substitutions =3D {
+ "{BAZEL_ZIG_CC_CACHE_PREFIX}": cache_prefix,
+ },
+ )
+
+ ret =3D repository_ctx.execute(
+ [
+ paths.join("..", "zig"),
+ "build-exe",
+ "-OReleaseSafe",
+ "launcher.zig",
+ ] + (["-static"] if os =3D=3D "linux" else []),
+ working_directory =3D "tools",
+ environment =3D {
+ "ZIG_LOCAL_CACHE_DIR": cache_prefix,
+ "ZIG_GLOBAL_CACHE_DIR": cache_prefix,
+ },
+ )
+ if ret.return_code !=3D 0:
+ fail("compilation failed:\nreturn_code=3D{}\nstderr=3D{}\nstdout=3D{=
}".format(
+ ret.return_code,
+ ret.stdout,
+ ret.stderr,
+ ))
+
+ exe =3D ".exe" if os =3D=3D "windows" else ""
for target_config in target_structs():
for zig_tool in _ZIG_TOOLS + target_config.tool_paths.values():
- zig_tool_wrapper =3D _zig_tool_wrapper(
- zig_tool,
- os =3D=3D "windows",
- repository_ctx.os.environ.get("BAZEL_ZIG_CC_CACHE_PREFIX", "=
"),
+ tool_path =3D zig_tool_path(os).format(
+ zig_tool =3D zig_tool,
zigtarget =3D target_config.zigtarget,
)
-
- repository_ctx.file(
- zig_tool_path(os).format(
- zig_tool =3D zig_tool,
- zigtarget =3D target_config.zigtarget,
- ),
- zig_tool_wrapper,
- )
+ repository_ctx.symlink("tools/launcher{}".format(exe), tool_path)
=20
repository_ctx.file(
"glibc-hacks/fcntl.map",
diff --git a/toolchain/launcher.zig b/toolchain/launcher.zig
new file mode 100644
index 0000000..0cf86e8
--- /dev/null
+++ b/toolchain/launcher.zig
@@ -0,0 +1,531 @@
+// A wrapper for `zig` subcommands.
+//
+// In simple cases it is usually enough to:
+//
+// zig c++ -target <triple> <...>
+//
+// However, there are some caveats:
+//
+// * Sometimes toolchains (looking at you, Go, see an example in
+// https://github.com/golang/go/pull/55966) skip CFLAGS to the underlying
+// compiler. Doing that may carry a huge cost, because zig may need to spend
+// ~30s compiling libc++ for an innocent feature test. Having an executable =
per
+// target platform (like GCC does things, e.g. aarch64-linux-gnu-<tool>) is
+// what most toolchains are designed to work with. So we need a wrapper per
+// zig sub-command per target. As of writing, the layout is:
+// tools/
+// =E2=94=9C=E2=94=80=E2=94=80 x86_64-linux-gnu.2.34
+// =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 ar
+// =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 c++
+// =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 ld.lld
+// =E2=94=9C=E2=94=80=E2=94=80 x86_64-linux-musl
+// =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 ar
+// =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 c++
+// =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 ld.lld
+// =E2=94=9C=E2=94=80=E2=94=80 x86_64-macos-none
+// =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 ar
+// =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 c++
+// =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 ld64.lld
+// ...
+// * ZIG_LIB_DIR controls the output of `zig c++ -MF -MD <...>`. Bazel uses
+// command to understand which input files were used to the compilation. If =
any
+// of the files are not in `external/<...>/`, Bazel will understand and
+// complain that the compiler is using undeclared directories on the host fi=
le
+// system. We do not declare prerequisites using absolute paths, because that
+// busts Bazel's remote cache.
+// * BAZEL_ZIG_CC_CACHE_PREFIX is configurable per toolchain instance, and
+// ZIG_GLOBAL_CACHE_DIR and ZIG_LOCAL_CACHE_DIR must be set to its value for
+// all `zig` invocations.
+//
+// Originally this was a Bash script, then a POSIX shell script, then two
+// scripts (one with pre-defined BAZEL_ZIG_CC_CACHE_PREFIX, one without). Th=
en
+// Windows came along with two PowerShell scripts (ports of the POSIX shell
+// scripts), which I kept breaking. Then Bazel 6 came with
+// `--experimental_use_hermetic_linux_sandbox`, which hermetizes the sandbox=
to
+// the extreme: the sandbox has nothing that is not declared. /bin/sh and its
+// dependencies (/lib/x86_64-linux-gnu/libc.so.6 on my system) are obviously
+// not declared. So one can either declare those dependencies, bundle a shell
+// to execute the wrapper, or port the shell logic to a cross-platform progr=
am
+// that compiles to a static binary. By a chance we happen to already ship a
+// toolchain of a language that could compile such program. And behold, the
+// program is below.
+
+const builtin =3D @import("builtin");
+const std =3D @import("std");
+const fs =3D std.fs;
+const mem =3D std.mem;
+const process =3D std.process;
+const ChildProcess =3D std.ChildProcess;
+const ArrayList =3D std.ArrayList;
+const ArrayListUnmanaged =3D std.ArrayListUnmanaged;
+const Allocator =3D std.mem.Allocator;
+const sep =3D fs.path.sep_str;
+
+const EXE =3D switch (builtin.target.os.tag) {
+ .windows =3D> ".exe",
+ else =3D> "",
+};
+
+const CACHE_DIR =3D "{BAZEL_ZIG_CC_CACHE_PREFIX}";
+
+const usage_cpp =3D
+ \\Usage: <...>/tools/<target-triple>/{[zig_tool]s}{[exe]s} <args>...
+ \\
+ \\Wraps the "zig" multi-call binary. It determines the target platform f=
rom
+ \\the directory where it was called. Then sets ZIG_LIB_DIR,
+ \\ZIG_GLOBAL_CACHE_DIR, ZIG_LOCAL_CACHE_DIR and then calls:
+ \\
+ \\ zig c++ -target <target-triple> <args>...
+;
+
+const usage_other =3D
+ \\Usage: <...>/tools/<target-triple>/{[zig_tool]s}{[exe]s} <args>...
+ \\
+ \\Wraps the "zig" multi-call binary. It sets ZIG_LIB_DIR,
+ \\ZIG_GLOBAL_CACHE_DIR, ZIG_LOCAL_CACHE_DIR, and then calls:
+ \\
+ \\ zig {[zig_tool]s} <args>...
+;
+
+const Action =3D enum {
+ early_ok,
+ early_err,
+ exec,
+};
+
+const ExecParams =3D struct {
+ args: ArrayListUnmanaged([]const u8),
+ env: process.EnvMap,
+};
+
+const ParseResults =3D union(Action) {
+ early_ok,
+ early_err: []const u8,
+ exec: ExecParams,
+};
+
+pub fn main() u8 {
+ var allocator =3D if (builtin.link_libc)
+ std.heap.c_allocator
+ else blk: {
+ var gpa =3D std.heap.GeneralPurposeAllocator(.{}){};
+ break :blk gpa.allocator();
+ };
+ var arena_allocator =3D std.heap.ArenaAllocator.init(allocator);
+ defer arena_allocator.deinit();
+ const arena =3D arena_allocator.allocator();
+
+ var argv_it =3D process.argsWithAllocator(arena) catch |err| {
+ std.debug.print("error parsing args: {s}\n", .{@errorName(err)});
+ return 1;
+ };
+
+ const action =3D parseArgs(arena, fs.cwd(), &argv_it) catch |err| {
+ std.debug.print("error: {s}\n", .{@errorName(err)});
+ return 1;
+ };
+
+ switch (action) {
+ .early_ok =3D> return 0,
+ .early_err =3D> |msg| {
+ std.io.getStdErr().writeAll(msg) catch {};
+ return 1;
+ },
+ .exec =3D> |params| {
+ if (builtin.os.tag =3D=3D .windows) {
+ return spawnWindows(arena, params);
+ } else {
+ return execUnix(arena, params);
+ }
+ },
+ }
+}
+
+fn spawnWindows(arena: Allocator, params: ExecParams) u8 {
+ var proc =3D ChildProcess.init(params.args.items, arena);
+ proc.env_map =3D &params.env;
+ const ret =3D proc.spawnAndWait() catch |err| {
+ std.debug.print(
+ "error spawning {s}: {s}\n",
+ .{ params.args.items[0], @errorName(err) },
+ );
+ return 1;
+ };
+
+ switch (ret) {
+ .Exited =3D> |code| return code,
+ else =3D> |other| {
+ std.debug.print("abnormal exit: {any}\n", .{other});
+ return 1;
+ },
+ }
+}
+
+fn execUnix(arena: Allocator, params: ExecParams) u8 {
+ const err =3D process.execve(arena, params.args.items, &params.env);
+ std.debug.print(
+ "error execing {s}: {s}\n",
+ .{ params.args.items[0], @errorName(err) },
+ );
+ return 1;
+}
+
+// argv_it is an object that has such method:
+// fn next(self: *Self) ?[]const u8
+// in non-testing code it is *process.ArgIterator.
+// Leaks memory: the name of the first argument is arena not by chance.
+fn parseArgs(
+ arena: Allocator,
+ cwd: fs.Dir,
+ argv_it: anytype,
+) error{OutOfMemory}!ParseResults {
+ const arg0 =3D argv_it.next() orelse
+ return fatal(arena, "error: argv[0] cannot be null", .{});
+
+ const zig_tool =3D blk: {
+ const b =3D fs.path.basename(arg0);
+ if (builtin.target.os.tag =3D=3D .windows and
+ std.ascii.eqlIgnoreCase(".exe", b[b.len - 4 ..]))
+ break :blk b[0 .. b.len - 4];
+
+ break :blk b;
+ };
+ const maybe_target =3D getTarget(arg0) catch |err| switch (err) {
+ error.BadParent =3D> {
+ const fmt_args =3D .{ .zig_tool =3D zig_tool, .exe =3D EXE };
+ if (mem.eql(u8, zig_tool, "c++")) {
+ return fatal(arena, usage_cpp, fmt_args);
+ } else return fatal(arena, usage_other, fmt_args);
+ },
+ else =3D> |e| return e,
+ };
+
+ const root =3D blk: {
+ var dir =3D cwd.openDir(
+ "external" ++ sep ++ "zig_sdk" ++ sep ++ "lib",
+ .{ .access_sub_paths =3D false, .no_follow =3D true },
+ );
+
+ if (dir) |*dir_exists| {
+ dir_exists.close();
+ break :blk "external" ++ sep ++ "zig_sdk";
+ } else |_| {}
+
+ // directory does not exist or there was an error opening it
+ const here =3D fs.path.dirname(arg0) orelse ".";
+ break :blk try fs.path.join(arena, &[_][]const u8{ here, "..", ".." =
});
+ };
+
+ const zig_lib_dir =3D try fs.path.join(arena, &[_][]const u8{ root, "lib=
" });
+ const zig_exe =3D try fs.path.join(
+ arena,
+ &[_][]const u8{ root, "zig" ++ EXE },
+ );
+
+ var env =3D process.getEnvMap(arena) catch |err| {
+ return fatal(
+ arena,
+ "error getting process environment: {s}",
+ .{@errorName(err)},
+ );
+ };
+ try env.put("ZIG_LIB_DIR", zig_lib_dir);
+ try env.put("ZIG_LOCAL_CACHE_DIR", CACHE_DIR);
+ try env.put("ZIG_GLOBAL_CACHE_DIR", CACHE_DIR);
+
+ // args is the path to the zig binary and args to it.
+ var args =3D ArrayListUnmanaged([]const u8){};
+ try args.appendSlice(arena, &[_][]const u8{ zig_exe, zig_tool });
+ if (maybe_target) |target|
+ try args.appendSlice(arena, &[_][]const u8{ "-target", target });
+
+ while (argv_it.next()) |arg|
+ try args.append(arena, arg);
+
+ if (mem.eql(u8, zig_tool, "c++") and shouldReturnEarly(args.items))
+ return .early_ok;
+
+ return ParseResults{
+ .exec =3D .{
+ .args =3D args,
+ .env =3D env,
+ },
+ };
+}
+
+fn fatal(
+ arena: Allocator,
+ comptime fmt: []const u8,
+ args: anytype,
+) error{OutOfMemory}!ParseResults {
+ const msg =3D try std.fmt.allocPrint(arena, fmt ++ "\n", args);
+ return ParseResults{ .early_err =3D msg };
+}
+
+// Golang probing for a particular linker flag causes many unneeded stubs to=
be
+// built, e.g. glibc, musl, libc++. The hackery can probably be deleted after
+// Go 1.20 is released. In particular,
+// https://go-review.googlesource.com/c/go/+/436884
+fn shouldReturnEarly(args: []const []const u8) bool {
+ const prelude =3D &[_][]const u8{
+ "-Wl,--no-gc-sections",
+ "-x",
+ "c",
+ "-",
+ "-o",
+ "/dev/null",
+ };
+ if (args.len < prelude.len)
+ return false;
+ for (prelude) |arg, i|
+ if (!mem.eql(u8, arg, args[args.len - prelude.len + i]))
+ return false;
+ return true;
+}
+
+fn getTarget(self_exe: []const u8) error{BadParent}!?[]const u8 {
+ const here =3D fs.path.dirname(self_exe) orelse return error.BadParent;
+ const triple =3D fs.path.basename(here);
+
+ // Validating the triple now will help users catch errors even if they
+ // don't yet need the target. yes yes the validation will miss things
+ // strings `is.it.x86_64?-stallinux,macos-`; we are trying to aid users
+ // that run things from the wrong directory, not trying to punish the on=
es
+ // having fun.
+ {
+ var it =3D mem.split(u8, triple, "-");
+ if (it.next()) |arch| {
+ if (mem.indexOf(u8, "aarch64,x86_64", arch) =3D=3D null)
+ return error.BadParent;
+ } else return error.BadParent;
+
+ if (it.next()) |got_os| {
+ if (mem.indexOf(u8, "linux,macos,windows", got_os) =3D=3D null)
+ return error.BadParent;
+ } else return error.BadParent;
+
+ // ABI triple is too much of a moving target
+ if (it.next() =3D=3D null) return error.BadParent;
+
+ // but the target needs to have 3 dashes.
+ if (it.next() !=3D null) return error.BadParent;
+ }
+
+ if (mem.eql(u8, "c++" ++ EXE, fs.path.basename(self_exe))) {
+ return triple;
+ } else return null;
+}
+
+const testing =3D std.testing;
+
+fn split(comptime str: []const u8) []const []const u8 {
+ var arr: [str.len][]const u8 =3D undefined;
+ var i: usize =3D 0;
+ var it =3D mem.split(u8, str, " ");
+ while (it.next()) |arg| : (i +=3D 1)
+ arr[i] =3D arg;
+ return arr[0..i];
+}
+
+test "launcher:shouldReturnEarly" {
+ const pos =3D .{
+ "-Wl,--no-gc-sections -x c - -o /dev/null",
+ "foo.c -o main -Wl,--no-gc-sections -x c - -o /dev/null",
+ };
+ const neg =3D .{
+ "cc -Wl,--no-gc-sections -x c - -o /dev/null x",
+ "-Wl,--no-gc-sections -x c - -o",
+ "incorrect-value -x c - -o /dev/null",
+ };
+
+ inline for (pos) |tt|
+ try testing.expect(shouldReturnEarly(split(tt)));
+
+ inline for (neg) |tt|
+ try testing.expect(!shouldReturnEarly(split(tt)));
+}
+
+pub const TestArgIterator =3D struct {
+ index: usize =3D 0,
+ argv: []const [:0]const u8,
+
+ pub fn next(self: *TestArgIterator) ?[:0]const u8 {
+ if (self.index =3D=3D self.argv.len) return null;
+
+ defer self.index +=3D 1;
+ return self.argv[self.index];
+ }
+
+ pub fn skip(self: *TestArgIterator) bool {
+ if (self.index =3D=3D self.len) return false;
+
+ self.index +=3D 1;
+ return true;
+ }
+};
+
+fn compareExec(
+ res: ParseResults,
+ want_args: []const [:0]const u8,
+ want_env_zig_lib_dir: []const u8,
+) !void {
+ try testing.expectEqual(want_args.len, res.exec.args.items.len);
+ for (want_args) |want_arg, i| {
+ try testing.expectEqualStrings(
+ want_arg,
+ res.exec.args.items[i],
+ );
+ }
+ try testing.expectEqualStrings(
+ want_env_zig_lib_dir,
+ res.exec.env.get("ZIG_LIB_DIR").?,
+ );
+}
+
+test "launcher:parseArgs" {
+ // not using testing.allocator, because parseArgs is designed to be used
+ // with an arena.
+ var gpa =3D std.heap.GeneralPurposeAllocator(.{}){};
+ var allocator =3D gpa.allocator();
+
+ const tests =3D [_]struct {
+ args: []const [:0]const u8,
+ precreate_dir: ?[]const u8 =3D null,
+ want_result: union(Action) {
+ early_ok,
+ early_err: []const u8,
+ exec: struct {
+ args: []const [:0]const u8,
+ env_zig_lib_dir: []const u8,
+ },
+ },
+ }{
+ .{
+ .args =3D &[_][:0]const u8{"ar" ++ EXE},
+ .want_result =3D .{
+ .early_err =3D std.fmt.comptimePrint(usage_other ++ "\n", .{
+ .zig_tool =3D "ar",
+ .exe =3D EXE,
+ }),
+ },
+ },
+ .{
+ .args =3D &[_][:0]const u8{"c++" ++ EXE},
+ .want_result =3D .{
+ .early_err =3D std.fmt.comptimePrint(usage_cpp ++ "\n", .{
+ .zig_tool =3D "c++",
+ .exe =3D EXE,
+ }),
+ },
+ },
+ .{
+ .args =3D &[_][:0]const u8{
+ "external" ++ sep ++ "zig_sdk" ++ "tools" ++ sep ++
+ "x86_64-linux-musl" ++ sep ++ "c++" ++ EXE,
+ "-Wl,--no-gc-sections",
+ "-x",
+ "c",
+ "-",
+ "-o",
+ "/dev/null",
+ },
+ .want_result =3D .early_ok,
+ },
+ .{
+ .args =3D &[_][:0]const u8{
+ "tools" ++ sep ++ "x86_64-linux-musl" ++ sep ++ "c++" ++ EXE,
+ "main.c",
+ "-o",
+ "/dev/null",
+ },
+ .want_result =3D .{
+ .exec =3D .{
+ .args =3D &[_][:0]const u8{
+ "tools" ++ sep ++ "x86_64-linux-musl" ++ sep ++
+ ".." ++ sep ++ ".." ++ sep ++ "zig" ++ EXE,
+ "c++",
+ "-target",
+ "x86_64-linux-musl",
+ "main.c",
+ "-o",
+ "/dev/null",
+ },
+ .env_zig_lib_dir =3D "tools" ++ sep ++ "x86_64-linux-mus=
l" ++
+ sep ++ ".." ++ sep ++ ".." ++ sep ++ "lib",
+ },
+ },
+ },
+ .{
+ .args =3D &[_][:0]const u8{
+ "tools" ++ sep ++ "x86_64-linux-musl" ++ sep ++ "ar" ++ EXE,
+ "-rcs",
+ "all.a",
+ "main.o",
+ "foo.o",
+ },
+ .want_result =3D .{
+ .exec =3D .{
+ .args =3D &[_][:0]const u8{
+ "tools" ++ sep ++ "x86_64-linux-musl" ++ sep ++ ".."=
++
+ sep ++ ".." ++ sep ++ "zig" ++ EXE,
+ "ar",
+ "-rcs",
+ "all.a",
+ "main.o",
+ "foo.o",
+ },
+ .env_zig_lib_dir =3D "tools" ++ sep ++ "x86_64-linux-mus=
l" ++
+ sep ++ ".." ++ sep ++ ".." ++ sep ++ "lib",
+ },
+ },
+ },
+ .{
+ .args =3D &[_][:0]const u8{
+ "external_zig_sdk" ++ sep ++ "tools" ++ sep ++
+ "x86_64-linux-gnu.2.28" ++ sep ++ "c++" ++ EXE,
+ "main.c",
+ "-o",
+ "/dev/null",
+ },
+ .precreate_dir =3D "external" ++ sep ++ "zig_sdk" ++ sep ++ "lib=
",
+ .want_result =3D .{
+ .exec =3D .{
+ .args =3D &[_][:0]const u8{
+ "external" ++ sep ++ "zig_sdk" ++ sep ++ "zig" ++ EX=
E,
+ "c++",
+ "-target",
+ "x86_64-linux-gnu.2.28",
+ "main.c",
+ "-o",
+ "/dev/null",
+ },
+ .env_zig_lib_dir =3D "external" ++ sep ++ "zig_sdk" ++
+ sep ++ "lib",
+ },
+ },
+ },
+ };
+
+ for (tests) |tt| {
+ var tmp =3D testing.tmpDir(.{});
+ defer tmp.cleanup();
+
+ if (tt.precreate_dir) |dir|
+ try tmp.dir.makePath(dir);
+
+ var res =3D try parseArgs(allocator, tmp.dir, &TestArgIterator{
+ .argv =3D tt.args,
+ });
+
+ switch (tt.want_result) {
+ .early_ok =3D> try testing.expectEqual(res, .early_ok),
+ .early_err =3D> |want_msg| try testing.expectEqualStrings(
+ want_msg,
+ res.early_err,
+ ),
+ .exec =3D> |want| {
+ try compareExec(res, want.args, want.env_zig_lib_dir);
+ },
+ }
+ }
+}
diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl
index 9409f5e..635dde9 100644
--- a/toolchain/private/defs.bzl
+++ b/toolchain/private/defs.bzl
@@ -32,7 +32,7 @@ LIBCS =3D ["musl"] + ["gnu.{}".format(glibc) for glibc in _=
GLIBCS]
=20
def zig_tool_path(os):
if os =3D=3D "windows":
- return _ZIG_TOOL_PATH + ".bat"
+ return _ZIG_TOOL_PATH + ".exe"
else:
return _ZIG_TOOL_PATH
=20
--=20
2.34.5
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
DKIM-Signature: a=rsa-sha256; bh=MCi9WbpoJ4f9XVbwrKOVO3MbBdlb8SYntje2gmBylJY=;
c=simple/simple; d=sr.ht; h=Date:Cc:From:In-Reply-To:Subject:To;
q=dns/txt; s=srht; t=1671794655; v=1;
b=Z/DVc/S/JZ5kDYQNhdVx20vIRegt2UVXp9LHqIdKk1ek+9G689IjEaH+lOKj8RnwFvJL1xyZ
Qj3wNohhFc3EMDFh2/rpthJh8UA658h1n5UcRHa/C4lWMB9hCHKW7XwmM/58mdU1z+HHJuea5o2
6KaD4atEBf0deKTdvukQkEkc5lu0ZgMlT/OIbPEuCG/uBKvmTcY9BsKg4Q3wQHx8H31pA/+C4ew
zFtedFVHc0x75PTuJ+alItXiTLKhRbUeeDlKyXkaQw6M8slpinj5M+w9AftxlkByRn1qR5SwHlx
8a1NMt3snRSPPKgcajW8C4xFz39RctEA3pQkuPSR/3v7A==
Received: from localhost (unknown [173.195.146.244])
by mail-b.sr.ht (Postfix) with UTF8SMTPSA id 4733711EEC6;
Fri, 23 Dec 2022 11:24:15 +0000 (UTC)
MIME-Version: 1.0
Date: Fri, 23 Dec 2022 11:24:15 +0000
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
From: "builds.sr.ht" <builds@sr.ht>
Message-ID: <CP95QTZK2NUR.2ZJMZ66K85XC1@cirno2>
In-Reply-To: <167179347159.25324.12223141818448163553-1@git.sr.ht>
Subject: [bazel-zig-cc/patches/.build.yml] build success
To: "~motiejus" <motiejus@jakstys.lt>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
bazel-zig-cc/patches/.build.yml: SUCCESS in 19m41s
[zig launcher: replace shell wrappers with a binary][0] from [~motiejus][1]
[0]: https://lists.sr.ht/~motiejus/bazel-zig-cc/patches/37721
[1]: mailto:motiejus@jakstys.lt
=E2=9C=93 #910438 SUCCESS bazel-zig-cc/patches/.build.yml https://builds.sr=
.ht/~motiejus/job/910438
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=deepjudge.ai header.i=@deepjudge.ai
Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175])
by mail-b.sr.ht (Postfix) with ESMTPS id 2BF5A11EF31
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 30 Dec 2022 18:55:11 +0000 (UTC)
Received: by mail-lj1-f175.google.com with SMTP id s22so22803484ljp.5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 30 Dec 2022 10:55:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=deepjudge.ai; s=google;
h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=SKfm5xAly6Wk5FrjV8xWZn6E9RXjg7/mbH2I7j03ZZc=;
b=D/OLaMrf8vELXp6vmTaDggT8qQhpoGuXQwjiJjegJfKR3QTuvMzTWSJGpWBsC8ZaEg
1pu32u9tcUr9Jb3+hdWhIjy+R96yxVeq4RtTXJ81JQRcGiuMqLjQbLMtnJ3cVFEoD8hB
kDUKprPeDLZ23sTSRVvvL6KJPO3wdYwk08lnQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=SKfm5xAly6Wk5FrjV8xWZn6E9RXjg7/mbH2I7j03ZZc=;
b=d9YTuRyYixyQjaAw3uMRNpBcjbQ6yJ5KOHQE5TArho2d+LyqoJ7fKD8Z0crOrbUzRR
5tYezJk1GZ32SQIA40vwd7EvB5VBuhVgo3V9ZeLYJJeubujb7142gW8nLWuvnx6jCx3U
b8UnMQozOWTdpizOtr4z0RcTAU94HhwpfqRXipe+/WeCtdkqh56f48ArpdU1gUeXHl4X
38dabs8Jq2GjuURonGZi1rUVHbK76BVw0h0MZ5Q9nKMU1Q10s8TyVhxmq7vvD8Agk6xg
YDvG8kDms3dlIJjNU5y3yFTWG9215Miq3yOt8VFYWg/mI7rHWj/Y7Hiie6RTTpDtdwtw
8S+w==
X-Gm-Message-State: AFqh2kpQ4epCf6OirIj3oLrq+tImpJld354xkP+DFUyKI0WRIdLCa3Mw
ET4PdyegyNmNZgieqI5qimhtdJSxhwnrr7Y+Y5aJYXt4PZpFeFZp+5s=
X-Google-Smtp-Source: AMrXdXsBskO4fyQXyYFokAjiSHxvZk9zwMlx6z5XbYI9YSStfzG+UKsqXAVrzCw/d4WEA7LWxm4AtO1z34EH7k/5Wp8=
X-Received: by 2002:a05:651c:1077:b0:279:df97:e895 with SMTP id
y23-20020a05651c107700b00279df97e895mr1388586ljm.226.1672426509679; Fri, 30
Dec 2022 10:55:09 -0800 (PST)
MIME-Version: 1.0
From: Philippe Voinov <philippe@deepjudge.ai>
Date: Fri, 30 Dec 2022 19:54:59 +0100
Message-ID: <CALeCjqTQROq9LCEEczNNLcrfsskQhKZ7u44qcaa-OfEtGLJGbg@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc 1/1] zig launcher: replace shell wrappers
with a binary
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: "~motiejus" <motiejus@git.sr.ht>
Content-Type: text/plain; charset="UTF-8"
I ran into problems with missing shell utilities (dirname and sed)
when using bazel-zig-cc with rules_rust. rustc seems to unset PATH
when calling tools like the linker, which causes problems with the zig
tool wrapper scripts. I guess this patch would solve the issues that
I'm seeing?
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oi1-f173.google.com (mail-oi1-f173.google.com [209.85.167.173])
by mail-b.sr.ht (Postfix) with ESMTPS id 4377111EF31
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 30 Dec 2022 19:08:07 +0000 (UTC)
Received: by mail-oi1-f173.google.com with SMTP id j130so14457908oif.4
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Fri, 30 Dec 2022 11:08:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=XWYAcB2nhXupEMMFX4i72OixK2OQRANNd6NEl0AOX+Y=;
b=LcWUFKd19DeMxUWAOp6CW1Z+j7473+uCxUNnY91OgpuC8vwL1FMYCN2jwGUjnMeudU
9m0XbB6XvjFMykX4OO0Daq3iDFQp3w1NPQnkLWGzZYIL2VRL/4rha7PAzq4RBPgoOlLP
lLB62fK/dA5EojEzmpMyM1nHntFOJbziHkrWEBb8maGvUm3nNzs9txq09E6an5B658C+
/UpL0pyoWgdtri1vwZZS79Wo94csUSr0MO1HL0COzhrOkAm1bQd9FyOcGt8HVDizb8Ax
xw8JulmdHTA2gCRze894jJV1FXam8JEi9XUL4uraL1aKHehB0050bZG82hG7803Z38EC
fQkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=XWYAcB2nhXupEMMFX4i72OixK2OQRANNd6NEl0AOX+Y=;
b=2Gdymd4ZxZku7mQN3/p0oHm3tPaAHV+whUgmvBdw9ENOISfKya9S47QXTzcLKMhr/Z
ju+04qG6g3UM1BjMIMLiQl22OANiL9Ae7W3rspWcV+ptSpLT7Fgj7q/Lf/mehc/7agLH
Q+Bn9Gq/OJ4yqV1sgkPgc67IoXDi4pXA2Fdi+F6FN3sSYJpsf68lYEr7GFo79+XMo57B
STt13pgG5+GXQNjMb/S4LRHTqfEg5CBYprWjze7Xm0jN3GmH51NMjfPvV4kOLuRkZxZY
6o1gSds1g7+LcAr7vD00FmpR/sa87a/CWYrDoC1kDJVmkbcpu6BNio513pBkW/C+sCwj
+uxw==
X-Gm-Message-State: AFqh2kqcPfvps5ATQfp4dTyWUyytvxH1fFBZzqS0+HwQrvu3jPyeK5Mo
F7bvbBQkEf46mXWbBhFB40vKyerCK0lkQdDzYY8=
X-Google-Smtp-Source: AMrXdXtU0ipM//F9jKYZpaT4SEPRGH1Flj6ejICI0vl9vz+jac8aao7JEUjcn2+Sy1PiWVeUwskU3Y/R0rmDsVgDd9o=
X-Received: by 2002:a05:6808:2885:b0:35b:dac6:cc84 with SMTP id
eu5-20020a056808288500b0035bdac6cc84mr1745942oib.116.1672427286299; Fri, 30
Dec 2022 11:08:06 -0800 (PST)
MIME-Version: 1.0
References: <CALeCjqTQROq9LCEEczNNLcrfsskQhKZ7u44qcaa-OfEtGLJGbg@mail.gmail.com>
In-Reply-To: <CALeCjqTQROq9LCEEczNNLcrfsskQhKZ7u44qcaa-OfEtGLJGbg@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Fri, 30 Dec 2022 21:07:55 +0200
Message-ID: <CAFVMu-riAWd3yrzH3=Xq=beniKfXSaH6BeGSVPKT=JGeTFA7vA@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc 1/1] zig launcher: replace shell wrappers
with a binary
To: Philippe Voinov <philippe@deepjudge.ai>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, "~motiejus" <motiejus@git.sr.ht>
Content-Type: text/plain; charset="UTF-8"
On Fri, Dec 30, 2022 at 8:55 PM Philippe Voinov <philippe@deepjudge.ai> wrote:
>
> I ran into problems with missing shell utilities (dirname and sed)
> when using bazel-zig-cc with rules_rust. rustc seems to unset PATH
> when calling tools like the linker, which causes problems with the zig
> tool wrapper scripts. I guess this patch would solve the issues that
> I'm seeing?
Hi Philippe,
It has a high chance to work, but you never know until you try. Feel
free to test the patch yourself (or the remote branch
motiejus_launcher_zig[1]) and please report back.
I am hesitant to merge it as-is without Fabian's ack whether it works
on Windows though.
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc/tree/motiejus_launcher_zig
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id B1A7D11EFBC
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 2 Jan 2023 21:53:54 +0000 (UTC)
Message-ID: <ee9821ec-6b7c-4d62-a1f2-0b54cc2ef728@hahn.graphics>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1672696431;
bh=eOA61wVHDLksK5hazy+Rc+92DG49TO7UW474//DmaBI=;
h=To:Cc:References:Subject:From:In-Reply-To;
b=hJ1QyamFGw3nf6UUzQEoIrlAc3P+b8bppR4fOWNAp5+JUIYL4XXx1QmYrVtfoTgzX
0e2YZSsnfZ6kxVl15mL+/VuZlNhPE5KSZ6YIqP+sDDWltCnLJJEH/CNt33OhcNe48o
VLai9jvtiEVut0KTID0+/1LzEtTHjQ1kYxUu5dUQ=
Date: Mon, 2 Jan 2023 21:53:48 +0000
Mime-Version: 1.0
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: ~motiejus <motiejus@git.sr.ht>
References: <167179347159.25324.12223141818448163553-1@git.sr.ht>
Subject: Re: [PATCH bazel-zig-cc 1/1] zig launcher: replace shell wrappers
with a binary
Content-Language: en-US
From: Fabian Hahn <fabian@hahn.graphics>
In-Reply-To: <167179347159.25324.12223141818448163553-1@git.sr.ht>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Hi Motiejus,
Apologies for the delay in responding, I was traveling over the
Christmas and new year break and just got back home.
I've tested your patch on Windows and there are currently two issues
with it, one is trivial to fix and the other one I'm not sure about:
First, cache_prefix in toolchain/defs.bzl needs to have its backslashes
double escaped: once for bazel, and once for zig itself, otherwise the
zig compiler will complain about invalid escape characters. So it should
be "C:\\\\Temp\\\\bazel-zig-cc"
Second, zig further fails to compile launcher.zig with the following error:
launcher.zig:70:73: error: expected ';' after declaration
    \\Usage: <...>/tools/<target-triple>/{[zig_tool]s}{[exe]s} <args>...
                                                                        ^~~~
launcher.zig:71:3: note: invalid byte: ' '
    \\
  ^
The reason for this is that Git on Windows inserts carriage return
characters before newlines when checking out local files so they show up
fine in Windows text editors where \r\n is the default for line breaks.
This then breaks the zig parser's support for multiline constants as
detailed in https://github.com/ziglang/zig/issues/9257 which is marked
as closed even though it doesn't look resolved to me at all. Converting
newlines is the default behavior for Git unless you explicitly disable
it by setting core.autocrlf in your Git config. While that would be a
workaround, I would find this an uncommon thing to do and an odd thing
to require of Windows users, which is something also pointed out in the
above issue.
I did confirm that either of the following two hacks to launcher.zig do
make your patch work on Windows:
1. Replace usage_cpp and usage_other by regular strings without
multiline constant syntax.
2. Setting core.autocrlf to false in Git and recloning the repository.
3. Running dos2unix on launcher.zig before compiling it.
None of these are ideal, so I'm not quite sure how to go about solving
this. What do you think?
Best,
Fabian
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45])
by mail-b.sr.ht (Postfix) with ESMTPS id 82C7E11EFBC
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 2 Jan 2023 22:34:26 +0000 (UTC)
Received: by mail-ot1-f45.google.com with SMTP id m7-20020a9d73c7000000b00683e2f36c18so13153779otk.0
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 02 Jan 2023 14:34:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=YEv3oJ7FtfUki/5yS+k9UTcY+XBhauUSMD9KeWCuTVs=;
b=TKH3kCfOiBLN+6lfyblD07YHSY7j0xI/q3eBYMk6MJxy1d7WgJi90OIes1+S48/ncN
Twg22oiPJUHXznmGYIfZzKSDEV1yHsdTBofLblue2FyQ+yhpmYSKCTbGp2deXP902jCd
nfqtzQ2gPXR0DI8BvYzf+Wvdyuk8lKMK333WAemvO/ceKVRkS2f19k88OMc7x26qcIPp
zfkWXMRv1UiQ0GGjnUn+e2N4jKD7sdLcsPF8Dm0pCk81MOZDh49NNZVoDadm6Xw5jyUc
oiEv05ATB0J8qNeU+GPCEOA2U64LZ7e7n+4xS/vWC9UFBAYcikUH11EL+3ofzQ11wNuH
8N1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=YEv3oJ7FtfUki/5yS+k9UTcY+XBhauUSMD9KeWCuTVs=;
b=e4rwA4AFDbfSgOWdaosXLdNP2g+1b8Udfj4IV24suPdwW1dEeLdLhDjN5yMWfPzTox
4vj1YzjMqIAaRauqhF3IvzXtuHMXmYPB6Oxl2w4jRzJqxu1y4anz8LKTnfqw6KEdF87q
/WRDEsngSMsSx4Q/XTFD7XbbpqNriYRKLyr83cRVFpiIH6wiY9INO/ZBvO5CJwBYYG7D
3b0OB0cR4k9CzBXDhUeiz87IhlfdJMIHGxbteb5+sxw6MRAWlux4hQ4Sh7m8zyo24rE5
T59pFtIT/qaP9OEjkaIcEnbUN3WN0bDI28qhoIxv7xxDS9FKIl+bQ6v6ahL/3OeIMO2p
CDIg==
X-Gm-Message-State: AFqh2kpi85JRMmzaWw1nBrJLKIQ1FexXWNRoTHFk9Pt2z6GMJ7Oups/6
AC5iOXVLSoGuugDdKpaWuN9BI4IFwRGv3kH2d0E=
X-Google-Smtp-Source: AMrXdXuikI3anogpEpEmdCbJbmoeFbvLB3TevJUgj12X/NBpbdSDu94XSuiq9NuBpGUwSHfUZ23WGPRNpOjycSRwCTc=
X-Received: by 2002:a05:6830:567:b0:661:dd09:fcc4 with SMTP id
f7-20020a056830056700b00661dd09fcc4mr2360534otc.60.1672698864797; Mon, 02 Jan
2023 14:34:24 -0800 (PST)
MIME-Version: 1.0
References: <167179347159.25324.12223141818448163553-1@git.sr.ht> <ee9821ec-6b7c-4d62-a1f2-0b54cc2ef728@hahn.graphics>
In-Reply-To: <ee9821ec-6b7c-4d62-a1f2-0b54cc2ef728@hahn.graphics>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Tue, 3 Jan 2023 00:34:13 +0200
Message-ID: <CAFVMu-q9QmVd+rTxHMqX==8E_-fZ=7x8Sq6St_q9YXcJz451Xg@mail.gmail.com>
Subject: Re: [PATCH bazel-zig-cc 1/1] zig launcher: replace shell wrappers
with a binary
To: Fabian Hahn <fabian@hahn.graphics>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, "~motiejus" <motiejus@git.sr.ht>
Content-Type: text/plain; charset="UTF-8"
On Mon, Jan 2, 2023 at 11:53 PM Fabian Hahn <fabian@hahn.graphics> wrote:
>
> Hi Motiejus,
>
> Apologies for the delay in responding, I was traveling over the
> Christmas and new year break and just got back home.
Happy new year! :)
> I've tested your patch on Windows and there are currently two issues
> with it, one is trivial to fix and the other one I'm not sure about:
>
> First, cache_prefix in toolchain/defs.bzl needs to <...>
> be "C:\\\\Temp\\\\bazel-zig-cc"
Fixed, thanks.
> Second, zig further fails to compile launcher.zig with the following error:
>
> launcher.zig:70:73: error: expected ';' after declaration
>
> \\Usage: <...>/tools/<target-triple>/{[zig_tool]s}{[exe]s} <args>...
>
<...>
> 1. Replace usage_cpp and usage_other by regular strings without
> multiline constant syntax.
This.
> None of these are ideal, so I'm not quite sure how to go about solving
> this. What do you think?
I am OK with using ugly strings with ++ until
https://github.com/ziglang/zig/issues/9257 is fixed one way or
another. Can you do a final test on
https://git.sr.ht/~motiejus/bazel-zig-cc/commit/motiejus_launcher_zig
before I merge it?
Thanks,
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hahn.graphics header.i=@hahn.graphics
Received: from mail.hahn.graphics (poliwhirl.hahn.graphics [139.162.183.182])
by mail-b.sr.ht (Postfix) with ESMTPS id D672011EED7
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 3 Jan 2023 08:43:11 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hahn.graphics;
s=mail; t=1672735389;
bh=2iL93w52CB/FTkYi7s1VtI4kgojNZXlvRaiafHFAhiQ=;
h=From:To:Cc:Subject:In-Reply-To:References;
b=pNVRFxw42ymR5gTFYgl1MpqSWBCJaGcyOmEbbfXIEtzgiwomOZduLveMxoQA5jBFn
bzMYMf0/Gfu0MUvdt/XlmoB8A4I7F8EAVpYNlIsIGLR8wOgU6BV0lePz8hBWmewCec
uU4lr8XqhHuWNg820IzUt5kgQMx+jp6TOYAZaDGE=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8;
format=flowed
Content-Transfer-Encoding: 8bit
Date: Tue, 03 Jan 2023 08:43:02 +0000
From: fabian@hahn.graphics
To: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht, ~motiejus <motiejus@git.sr.ht>
Subject: Re: [PATCH bazel-zig-cc 1/1] zig launcher: replace shell wrappers
with a binary
In-Reply-To: <CAFVMu-q9QmVd+rTxHMqX==8E_-fZ=7x8Sq6St_q9YXcJz451Xg@mail.gmail.com>
References: <167179347159.25324.12223141818448163553-1@git.sr.ht>
<ee9821ec-6b7c-4d62-a1f2-0b54cc2ef728@hahn.graphics>
<CAFVMu-q9QmVd+rTxHMqX==8E_-fZ=7x8Sq6St_q9YXcJz451Xg@mail.gmail.com>
Message-ID: <ff04585641095da2b75f8f802ade9715@hahn.graphics>
X-Sender: fabian@hahn.graphics
On 2023-01-02 22:34, Motiejus Jakštys wrote:
> I am OK with using ugly strings with ++ until
> https://github.com/ziglang/zig/issues/9257 is fixed one way or
> another. Can you do a final test on
> https://git.sr.ht/~motiejus/bazel-zig-cc/commit/motiejus_launcher_zig
> before I merge it?
Sounds good, thanks for making the change. I've tested your latest
branch and Windows host support is working fine :)
Best,
Fabian
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=avilabs-is.20210112.gappssmtp.com header.i=@avilabs-is.20210112.gappssmtp.com
Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54])
by mail-b.sr.ht (Postfix) with ESMTPS id 6CC1A11EF61
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 9 Jan 2023 10:59:26 +0000 (UTC)
Received: by mail-ed1-f54.google.com with SMTP id i9so11943880edj.4
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 09 Jan 2023 02:59:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=avilabs-is.20210112.gappssmtp.com; s=20210112;
h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=wiO/vRQsIvbU7BYL+3sg/r15a0jG1SiXTC1zvb/GmUg=;
b=VsAytavVhwOlNShKfzv02O3lK0oX02MQvQz1fgx5bzNOEiM0Zw1SYU3uSFp8PKvzrt
HhRU7xxbOe+v7w2hV82NumJ7bivyb4u5OaQOf2hxxyAu/INfAAcndulbGHtx/iXnjSK0
0QMRnnmdn19yUTFqrd93pAcV9gqu3nLL8rqywy9lqF4HuOvSXsM6Dg1exL1qLB48tinB
dCsDsnQ5PCk/tomv7WfsjvaZJh726wdeYRz3j2bszebWHgjUQoyfP4P3R+NlYlZSBK7Q
ASSmiXUiB6qxpSfzGAp2tn5qqpWPHBkBdsGa5mPfmcczxjJx0d3hLT3vCQQxG+UhMV3t
zLDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=wiO/vRQsIvbU7BYL+3sg/r15a0jG1SiXTC1zvb/GmUg=;
b=yG42sbLb13v5ukIb7APiTXVaof1TDMw1AA7xcE9ODa0+OnxaIH4ElSD3+PP06UebHs
XkJUOM3camI2uqfNwBQk3SCQrSXXMEvGrKfKpCMLkPdxW+r5ZZ+fTxHwJDUwuqgs8Mwg
Ic3A8qDnvlIfdOVVioLPqOOSrVfUSh7mUIkpZgj6323gl4dX2EUi4coHExB+e748MiJ2
AtlGL3lOlG155ljzTf4dDqmoXrNdcfUcUaihA+rOOAPJoUyREIgRZRKwDzli2c7o7DBn
z3iIVjPE/equF2bAk4MMidVVCP0Ed8mCzvX1dawXUjdjq36vDzSm2yonZ4TcW5s/f8Xp
WuhA==
X-Gm-Message-State: AFqh2kpD9+EEeQtwVV0VX/xv0fgPaoDVEijQtPuXdBJUqqQP/Ke+vu7e
BMXqC9bLtz8ACRJ7vmEV5+JhsACwovjh3Paz6BSC3LprIsLQfNGt1m0=
X-Google-Smtp-Source: AMrXdXuZ/GQWTSkeEcqkeUiPR7niaGSYFMaJAxSsxtnIUKOqlJrp1Oq7XYR0IyWnSwNMpRcbs2qxivY2GzZ5Z60KKMY=
X-Received: by 2002:a05:6402:4c4:b0:496:839b:351f with SMTP id
n4-20020a05640204c400b00496839b351fmr1306911edw.287.1673261964948; Mon, 09
Jan 2023 02:59:24 -0800 (PST)
MIME-Version: 1.0
From: =?UTF-8?B?RGFuw61lbCBQdXJraMO6cw==?= <danielp@avilabs.is>
Date: Mon, 9 Jan 2023 10:59:14 +0000
Message-ID: <CAOY-u7Y6wvk8LeCj9QOpgjSieBcPhV2SUEvf3ARd5B2LCJbtAg@mail.gmail.com>
Subject: Re: bazel-zig-cc v1.0.0-rc4: call for testers
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Cc: Fabian Hahn <fabian@hahn.graphics>
Content-Type: text/plain; charset="UTF-8"
I tested this with our repository but it fails to compile Rust code
due to the following error:
```
error: /home/danielp/.cache/bazel/_bazel_danielp/f060a56172a8e8c557483bbe1399c8d9/execroot/monorepo/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/cargo__pin-project-internal-1.0.12/libpin_project_internal-932791180.so:
cannot allocate memory in static TLS block
--> external/cargo__axum-0.5.9/src/routing/method_routing.rs:20:5
|
20 | use tower_http::map_response_body::MapResponseBodyLayer;
| ^^^^^^^^^^
```
I tested this using the HEAD of the Zig toolchain and the default Zig
version using the latest release of rules_rust.
I'm not sure if this is an issue with Zig, Rust, rules_rust or the Zig
toolchain and don't have the capacity to do
a deep dive at the moment.
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oi1-f171.google.com (mail-oi1-f171.google.com [209.85.167.171])
by mail-b.sr.ht (Postfix) with ESMTPS id 2171011EE64
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 9 Jan 2023 12:10:32 +0000 (UTC)
Received: by mail-oi1-f171.google.com with SMTP id r130so6899008oih.2
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 09 Jan 2023 04:10:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=eX6AsbvvO56a6DTz/iqP5zl+424Ez637Al7XfYFbF5s=;
b=EHSbmQ4MKCWl21TfWtjUzyhOIbegataFY+GNitS9LAFxqccK5+UsBs7gTuA6Mq7lKq
GijeFJN9dLeb15CZaoO6gEXunDQD/NrPCDk5GLCSx9cOtqbOVMzkfuKYxWFzgStnU/ek
UFX2gDTAOWG2PLn+rvQkq6+mc4kWcAOkl1Rq5CZlNIZpgQgEILaVfpDwlTUyd8kRRdYi
Sh4VvZnp2W55eXdeB8EB67YJa+NPXdslDXwL6KFHqQf5viMhsFFCYflWWFadrb6gFVno
mCQil7F8AQGJMO0Q28110fYXuNgeiVlPRspamtY6rUMPebQSmxtnSCWArM2BNrfRE5BF
Pn+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=eX6AsbvvO56a6DTz/iqP5zl+424Ez637Al7XfYFbF5s=;
b=ooy4Sg3Fd1UbFmkhculn5O1uNmekLz3cdxpxuoso4mjJRiPRz4afo06DvVb8rVBQg9
um8h5ugWHkrZJTIICLTG+5oR3/Q6VCBFVBgSF8YGHzNzU+8vnsS6lCLAQ1fHLNmT6/hB
Uzl2aue1PpHW2uo+svbQtgmXSP/fEavTEK/7VbJVaBsVpNbNqA0poqGKg4NNwhQAApB5
7AUOG45ZYc1VGVhWMZ23/s6H2Sn2w/J4S0fapmPgpktQHerBwT29Q0kMG9uy2Bvg3IBl
FhWAP/wGmLDB7TCRaDKxdDUYTgbP0mubbd2P6hLQhpLJKsrswC2EbvIDRczTb2QlfgnU
qo0w==
X-Gm-Message-State: AFqh2kos9whboE9lEwoAOyGSvWSt6vP0wonRpO0nYN67eBNJwmgNrrqz
1ECYN19BTHARFopYbU76qcA150iLRkX2EeEVZOIXOyQ6eLaHuQ==
X-Google-Smtp-Source: AMrXdXtirHZFFMJg1W+C4d5rl4P6m0gNou81Hr5u9nd2Ayaz+JQEpWaQQe9esXsCh17ncRN0faj08o/Y7cHK1A/HUqk=
X-Received: by 2002:a05:6808:8c3:b0:35b:740:7598 with SMTP id
k3-20020a05680808c300b0035b07407598mr3270960oij.216.1673266231218; Mon, 09
Jan 2023 04:10:31 -0800 (PST)
MIME-Version: 1.0
References: <CAOY-u7Y6wvk8LeCj9QOpgjSieBcPhV2SUEvf3ARd5B2LCJbtAg@mail.gmail.com>
In-Reply-To: <CAOY-u7Y6wvk8LeCj9QOpgjSieBcPhV2SUEvf3ARd5B2LCJbtAg@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Mon, 9 Jan 2023 14:10:20 +0200
Message-ID: <CAFVMu-o1w-6WF=WOKUX=Te4SXLE5FDgMrUZB1HEzxjQPhB3OFA@mail.gmail.com>
Subject: Re: bazel-zig-cc v1.0.0-rc4: call for testers
To: =?UTF-8?B?RGFuw61lbCBQdXJraMO6cw==?= <danielp@avilabs.is>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Mon, Jan 9, 2023 at 12:59 PM Dan=C3=ADel Purkh=C3=BAs <danielp@avilabs.i=
s> wrote:
>
> I tested this with our repository but it fails to compile Rust code
> due to the following error:
>
> ```
> error: /home/danielp/.cache/bazel/_bazel_danielp/f060a56172a8e8c557483bbe=
1399c8d9/execroot/monorepo/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/carg=
o__pin-project-internal-1.0.12/libpin_project_internal-932791180.so:
> cannot allocate memory in static TLS block
> --> external/cargo__axum-0.5.9/src/routing/method_routing.rs:20:5
> |
> 20 | use tower_http::map_response_body::MapResponseBodyLayer;
> | ^^^^^^^^^^
>
> ```
>
> I tested this using the HEAD of the Zig toolchain and the default Zig
> version using the latest release of rules_rust.
> I'm not sure if this is an issue with Zig, Rust, rules_rust or the Zig
> toolchain and don't have the capacity to do
> a deep dive at the moment.
Hi Dan=C3=ADel,
Having spent a few minutes searching for a similar issue,
https://github.com/rust-cross/cargo-zigbuild/issues/27#issuecomment-1094177=
369
may be a good start. I am not planning to work on adding Rust-specific
support to bazel-zig-cc, but will accept patches that make support
*better* for Rust.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oi1-f177.google.com (mail-oi1-f177.google.com [209.85.167.177])
by mail-b.sr.ht (Postfix) with ESMTPS id B6D2311EF5B
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 24 Jan 2023 09:12:15 +0000 (UTC)
Received: by mail-oi1-f177.google.com with SMTP id p133so12713748oig.8
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 24 Jan 2023 01:12:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=content-transfer-encoding:to:subject:message-id:date:from
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=pirDsVdLJZtJJTnvtmK6QCkfNIPZaeF2xWVl50xvN1Q=;
b=5y8MsL2MPc5sTpRtSIlkgnSrkX3G+47FKsAHPRzaVbWu+c/cc+3ZqYbq4vT/fyz5VA
H0jHnFTj4ytvHAX+bJBZOxAoX6xJsr9iiXHHRC8F+J0b34Z/FQ5PMNDc7wxe2Iv+OlUW
hYAjO5pPoBMzNJXUAGgD4p+md8mEbUEBUZKTWvXvDYbV1iLXMo8D7HvqWvS4AcSxpFPz
taar6aDzy2GsbATJsz0/MbIBmIhi3ln3CzXChe36Yit5WY/nKaPW9sjrZZuk9LS6rvAB
ffQMvkCxHppcpf+32C5EACWmf1g3A3qj0kI+SbSQaTH7BRlcdNzyPq1ofw4uLbsiTXlJ
X8gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:to:subject:message-id:date:from
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=pirDsVdLJZtJJTnvtmK6QCkfNIPZaeF2xWVl50xvN1Q=;
b=gIdYJNFL/qVVIElJa5IaC2a2X2IpXREirrkJhFgH28XgwCNlZybc8E/uSp4yXWF1gx
pkHEFvzGNi+InzA3vUPlfgBbPsCH3eYNwKoJYxYN39CrkuElpz4BhENOrDsw5szn199M
uz65FRMoyocTzLwlm5AxKMcG2C9gjkon1XE0NDyK8hs4caXXgSti1auuM3h9fWyXIKJg
5UhsVU4Ulkp+Fxj0D+X/wjKa+zjwdrLkLmZyhcALs4n6Q/6pSSfjzrHES/sNRwodktaI
6pP7ZOb3yzTn1NrHdpF2+S4FT/LolJVNn8aAnmU+vq/SmxyqibHZtkWSNfXQdIjgQZ75
ZKRQ==
X-Gm-Message-State: AFqh2kpqio7abc7ea/9cSUIVNB56iF7fZF0sToWeH/OZ6gXW90DGygRe
pTxzTjWseH8WwP67CpaZGfeGN8t1JqA0wxX/JZABNMuybAfwQask
X-Google-Smtp-Source: AMrXdXvOo38z8zJaeMPG1n9kq4ZJdGctq2rPkcWCyUipqGRJG9yZTbsGJMclKgeemTV4Eee5T14X1QnhKRR9Ievv3ic=
X-Received: by 2002:a05:6808:1396:b0:36c:3082:f21f with SMTP id
c22-20020a056808139600b0036c3082f21fmr1293665oiw.116.1674551534859; Tue, 24
Jan 2023 01:12:14 -0800 (PST)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Tue, 24 Jan 2023 11:12:03 +0200
Message-ID: <CAFVMu-rYbf_jDTT4p=CS2KV1asdS5Ovo5AyuCwgv2AXr8OOP0g@mail.gmail.com>
Subject: bazel-zig-cc v1.0.0
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hi all,
I just released bazel-zig-cc v1.0. It has been compiling Uber's Go
Monorepo since Jan 4 of this year, so we feel it's good enough for v1.
Changes since v1.0.0-rc4:
- add `res_search` workaround for ziglang/zig#9485[1], equivalent to `fcntl=
64`.
- replace the shell-based wrapper scripts with one written in zig.
This enables --experimental_use_hermetic_linux_sandbox, leaving only
/proc/self/exe required outside of the toolchain (I will probably fix
even this eventually).
- Apple M1 improvements by Jeremy Volkman.
This is probably the last release of bazel-zig-cc in sourcehut. In
very short order bazel-zig-cc will become an official Uber's project
and move to github. I will send a separate announcement when that
happens (and maybe a blog post somewhere).
Thanks everyone involved in working with us towards v1.0; here are our
contributors:
Motiejus Jak=C5=A1tys
Ken Micklas
Laurynas Lubys
Fabian Hahn
Jeremy Volkman
Adam Bouhenguel
Luis Holanda
Mantas Jonaitis
Piotr Sikora
Motiejus
[1]: https://github.com/ziglang/zig/issues/9485
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com
Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52])
by mail-b.sr.ht (Postfix) with ESMTPS id BA87E11EF33
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 31 Jan 2023 18:30:33 +0000 (UTC)
Received: by mail-wm1-f52.google.com with SMTP id j32-20020a05600c1c2000b003dc4fd6e61dso6295706wms.5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 31 Jan 2023 10:30:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=to:message-id:subject:date:mime-version:from
:content-transfer-encoding:from:to:cc:subject:date:message-id
:reply-to;
bh=n12HA2hV21eFT3bpEeIz2d10w7v0CipRR2jUa02tUdE=;
b=iCc4+90qqkNRna/kCzqObfppv+ElKz3Qchv68ZrirWNsRtC7Zbb8Obt8crREfDR2p8
kdyujunCjfopwBonDHjK8MBm35bdJmmd6jsJ+d0KM18Pz7IweV/qX+hh9cacRgh6lTNm
WUyecoZ7t2a/wewB86nC+47hWGXq3rQUgSUAGp6Wytfe+CTCtJmsJ/l25YYtT5kjTJT0
t78xT9R91GuOF3FHyxTSI5xpnFhGY4jbXOdYCAO9GAAl3dMB6YMhCLR5wfPR4reh922O
crgM5Tg9QK5ryG6x4xHCYD0MZWgDt+TasJw3WXLHMEcAOQxUljvURBOPe39vu5V7RuvB
sJCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:message-id:subject:date:mime-version:from
:content-transfer-encoding:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=n12HA2hV21eFT3bpEeIz2d10w7v0CipRR2jUa02tUdE=;
b=JKUltrn4s3MwuRg4MwK1m3QVbu65yMPXAho/0x/beT+dvdkosYnXl3meELHxzw170W
kw5GQkc6FhSpwEXJijLj+5eA3k2RRA8VoVdagauDW13wQydJ9fZ0AzTmNdqb64+MbIWR
twktQK4lgpSBd5hDqnnBGfUGARo4MPsFcf8oUpO2sarr+K0aByG3yU5TRN2uEqqKlC8E
L0/Vx4Cq4UAdaBnnk9zzsjHbG7sI+iKal28MngHqzkHHUdquHhE13vZ3h77PqL4ur/Pf
av6zjWGPeK8/Eumg7xbL0wNlCSwaJEQdQtKjEego5gxdm0Gm1bM7JUdLJlcHgd2bkVLp
L1bQ==
X-Gm-Message-State: AO0yUKUQbJ5XZyYrAxW4wTfHYW+RgVK8sD4t0+GT/xblG7Y1ohR6x5Ws
HHizatbnrXdjJ8BKtfAP81H9Ek04Q1M=
X-Google-Smtp-Source: AK7set9HHZ8jlVWGbInO+6dsL0SeC45/Tw9jT2n4UK8yDRAjPgBH7t5Cr/DG1XmGwCBygjNDQ+lodw==
X-Received: by 2002:a7b:c416:0:b0:3dc:5950:b358 with SMTP id k22-20020a7bc416000000b003dc5950b358mr9086394wmi.14.1675189832389;
Tue, 31 Jan 2023 10:30:32 -0800 (PST)
Received: from smtpclient.apple (cpc73674-dals20-2-0-cust516.20-2.cable.virginm.net. [82.39.238.5])
by smtp.gmail.com with ESMTPSA id l16-20020a7bc350000000b003d9aa76dc6asm23192438wmj.0.2023.01.31.10.30.31
for <~motiejus/bazel-zig-cc@lists.sr.ht>
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Tue, 31 Jan 2023 10:30:32 -0800 (PST)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
From: Simon Mavi Stewart <simon.m.stewart@gmail.com>
Mime-Version: 1.0 (1.0)
Date: Tue, 31 Jan 2023 18:30:21 +0000
Subject: Setting sysroots
Message-Id: <B83A9681-7EBB-4230-8543-160AC09A0436@gmail.com>
To: ~motiejus/bazel-zig-cc@lists.sr.ht
X-Mailer: iPhone Mail (20D47)
Hi,
Is there any recommended way of passing a sysroot to use to the zig-cc toolc=
hains that are created? And also to pass additional linker flags?
I'm trying to use bazel-zig-cc to compile code using Rust, and some of the d=
ependencies need to link against `libiconv`. For macOS compiles, I know that=
I need to supply my own sysroot, and that needs to contain not just the lib=
raries, but also the frameworks that are linked against. Being able to speci=
fy additional linker flags would help with that a lot.
Kind regards,
Simon
Sent from my iPhone=
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f42.google.com (mail-oa1-f42.google.com [209.85.160.42])
by mail-b.sr.ht (Postfix) with ESMTPS id 80EE111EEF6
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 1 Feb 2023 06:42:09 +0000 (UTC)
Received: by mail-oa1-f42.google.com with SMTP id 586e51a60fabf-1631b928691so22324331fac.11
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 31 Jan 2023 22:42:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=utQqHvcPaIgRS3drT1L6mOTb/DE6v2Z5Z4nvezVHXo8=;
b=QNj8Fgbg64imNlrUAZOU+4Ysi9t8ZQ++3BdhjAKtpwgQMS6L9VVkVxXG2OAUZJt1fb
tjvL3O4r2h3qJcDf86c2D4V1ke6tK2oZ23GuHYteyEmJ4vd/5iD7k7eAkeh6wOESqrs8
IOg0cxKvtmpUOF1HvG7R/w/gSF6mzcDpSDzTQ3J9xORh7xiWca1YqCFHw4oj7haq/5lU
LA7vbBS0Lzc5bhl2UDbbqb71GJodejcPcDRimap2he7O0DT7tIBKEUnB/l9Vsh5uv9M4
zQZFa5lnzsKU63Jtw/JW6/6AUPOGgD3Lg/RnzIx0yOc7KLu7AtGpeaHHQl6KuZpJ9AJx
QQ2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=utQqHvcPaIgRS3drT1L6mOTb/DE6v2Z5Z4nvezVHXo8=;
b=zX9rrE9EwCb96vXqEMDpfSNM8cTHEiTMvV5AGGMH/k3OqNsgpZcnzswL30DlfjSw/A
ulDN6BS29a+Jqg8vmTfqVQMA/c30RHgjvAOOvr54QhQyWjZO5lajHCHmOXsWT5O7PUAB
YUERu6DQndcuMd422CEr1Zn6toYQ0KNSylWnur8yrknGDf6i43wlE1dzUuk/+bdrEaFj
fizV5/f0BTe2Bm6KiqQi+UNDKK6IPI/S809+qQI5ZFYBzaDcj0PzQYlft96a2IDwaa9a
q0lbF3D9iIddmNXJ9AknLz4PKxsWzjyea0EvjX3cefOAYrK78NPXwP9BRw2b1f6jF+dc
611A==
X-Gm-Message-State: AO0yUKU1ZuTfa3PbEglkvvv1OFNPedCt1liK4CERhF1dy5vO/cNYZsXH
z8FTOe7XUJBiPOtxzqBEnP9JyOdd32g8UH8QMf0=
X-Google-Smtp-Source: AK7set/IkiK0iQuBnALkIDIzes66XmYL73mGXcw76xghv+LidxYFnTwOLGdqZmeqmjmQxhk5P5fe7eAOp2ZapzQYaUw=
X-Received: by 2002:a05:6870:391e:b0:154:210:aad8 with SMTP id
b30-20020a056870391e00b001540210aad8mr79503oap.116.1675233728702; Tue, 31 Jan
2023 22:42:08 -0800 (PST)
MIME-Version: 1.0
References: <B83A9681-7EBB-4230-8543-160AC09A0436@gmail.com>
In-Reply-To: <B83A9681-7EBB-4230-8543-160AC09A0436@gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Tue, 31 Jan 2023 22:41:57 -0800
Message-ID: <CAFVMu-pH1ZJxQzHBUaBHFvQuXLSDrZxF6BJgpsLY2gaf0THUfQ@mail.gmail.com>
Subject: Re: Setting sysroots
To: Simon Mavi Stewart <simon.m.stewart@gmail.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Tue, Jan 31, 2023 at 10:30 AM Simon Mavi Stewart
<simon.m.stewart@gmail.com> wrote:
>
> Hi,
>
> Is there any recommended way of passing a sysroot to use to the zig-cc to=
olchains that are created? And also to pass additional linker flags?
Hi,
Yes. See this snippet in the README:
version =3D "<...>",
url_formats =3D [
"https://example.org/zig/zig-{host_platform}-{version}.{_ext}",
],
host_platform_sha256 =3D { ... },
Does that explain it?
> I'm trying to use bazel-zig-cc to compile code using Rust, and some of th=
e dependencies need to link against `libiconv`. For macOS compiles, I know =
that I need to supply my own sysroot, and that needs to contain not just th=
e libraries, but also the frameworks that are linked against. Being able to=
specify additional linker flags would help with that a lot.
Linking to libraries outside the sandbox is highly, highly
discouraged. Normally you would build libiconv with bazel (cc_library
et al) and statically (recommended; you can also link dynamically, but
that has its own caveats) link to it in your application.
As far as *.tbd files of MacOS are concerned (do I correctly
understand that this is what you mean by sysroot?), this is currently
unsupported, and, honestly, I have very little idea how to implement
it. But I will review/accept patches that do it.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45])
by mail-b.sr.ht (Postfix) with ESMTPS id 352CC11EF87
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 1 Mar 2023 07:01:22 +0000 (UTC)
Received: by mail-ot1-f45.google.com with SMTP id l13-20020a0568301d6d00b0068f24f576c5so7004174oti.11
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 28 Feb 2023 23:01:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=341AQbBr8EeqGhQIedaqTUph1hVhMvfQgTdnHn9B2sQ=;
b=qIrCEoiOrms7UfacVUNeb5bFOh388I4VD9vC/hOBJWEOC6Y8GqIAT8Js3GiwoxHqUU
kE+/DoZBVxo+rL+M0uNtOv2geejLDYrsYIzb25ys0/eJtW+yRHvpZARKlhBvknSfNCI9
0tUbaBaVoqG95JUnXpdjETBA/zFPOjopHNiqAznaqlpQkk4FmL3JSLATibrJk0LcNccf
kZ9AU9dEqdQbFlSszOZPME7LUUEwSeHBqoqnPS2C4g/W2+QDG8CLojbC5gIttybb/xFj
i68lTVL+Xi3zDVU+wZcby8Ch2zvMiQx5ovRuGS5vN4mJgF4xSJY6W1LyrftZIqE0QKGY
T91A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=341AQbBr8EeqGhQIedaqTUph1hVhMvfQgTdnHn9B2sQ=;
b=KoUhs0a6HASgYeIH5vXlY9P96d+/QNO2rJvEC2lp0PHAx9piVB7JeE+Q2G2DtmatZ6
5nOjkIz/hAOLondRBXeZ7qdbcADZ0iy81QzV3GZDNMyXqQ/ZAnQ/LNSB3jNCCdYKpfSL
0RXr6uqrnUGzbFITOL+MNysmLV6IwSU5DD4Uav/e5i834KH+QEkVxp/Sgyzz+TrH5lBz
2GpMHyAC+0Cse2qPmJ+P1SHRv3yS3BGGwNH99NRKVtRluq3iVB6IPfbhj64VpI5Wc6i9
va6ZpYnQcuxwik4IZcSv9y3rBwO5q/iHv6gK9dflwxR1i1s1kesWYnRLMfAysv9cV8mn
Bhag==
X-Gm-Message-State: AO0yUKW5L08q4Jyo3R+pEKSB4INn+7k4RsFugLhcItfOWCiVIRdvbdUo
fhkauylW42Zh6Av7ve7Cn6sLFzV9+Q7Trv++VQ4=
X-Google-Smtp-Source: AK7set8trQVnOcKp8mO+HaBVv5WCjMLHqqvMDzWfi+93k40aEAwux29LJBy04iy7erouElLMIp4o2dILuCn5Eb5RUo0=
X-Received: by 2002:a9d:600a:0:b0:68b:d3e8:575f with SMTP id
h10-20020a9d600a000000b0068bd3e8575fmr1909069otj.5.1677654081410; Tue, 28 Feb
2023 23:01:21 -0800 (PST)
MIME-Version: 1.0
References: <CAFVMu-rYbf_jDTT4p=CS2KV1asdS5Ovo5AyuCwgv2AXr8OOP0g@mail.gmail.com>
<CAFuCWxuDt=c1N=8AHmZEzbY1XTadcnD_A52XdvMf6jhOc6qZ1g@mail.gmail.com>
In-Reply-To: <CAFuCWxuDt=c1N=8AHmZEzbY1XTadcnD_A52XdvMf6jhOc6qZ1g@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Wed, 1 Mar 2023 09:01:10 +0200
Message-ID: <CAFVMu-okEg37xUzG+DDB7dAmqDjXyzoZbCVxtBjuHvN36uEF-g@mail.gmail.com>
Subject: Re: bazel-zig-cc v1.0.0
To: Jeremy Volkman <jeremy@jvolkman.com>
Cc: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Wed, Mar 1, 2023 at 1:31=E2=80=AFAM Jeremy Volkman <jeremy@jvolkman.com>=
wrote:
>
> Hi Motiejus,
> Has that move to GitHub happened yet? Should we still send patches to thi=
s list?
>
Hi Jeremy,
We are still working on it, there have been some bumps on the way.
Worry not, it will be announced. Until that happens, please keep
contributing to sourcehut/this mailing list.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f47.google.com (mail-oa1-f47.google.com [209.85.160.47])
by mail-b.sr.ht (Postfix) with ESMTPS id 3424511EF96
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 6 Mar 2023 09:41:52 +0000 (UTC)
Received: by mail-oa1-f47.google.com with SMTP id 586e51a60fabf-176b90e14a9so3082643fac.9
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Mon, 06 Mar 2023 01:41:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112; t=1678095711;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=KHLWt4SFcy5d3KGmDzqpKrFQGir4fMGvuU4gHfpcVDQ=;
b=dPcQmUvpPUvBc0j66qVkBCIRRVyrscB5L/KPrL4xoeJuCSriXpWHQBdTbv8o+DDIif
glPcbOM10mSTuMWzjFA/+qxv2euUxkMF12IQzdilw+FPg96hF627qYQPwslHymLUf4qB
9K89tQrAsmw/ovJ2gs70nv49X5FO9/vSooyXl4WY7J3Gx1VWPZ5gZWNgB/k6tHFckG4v
3wc/WNenxlKUUjV4z+IJYUYJTWNgA4lD0wqKHrap1GhUbN2MHGaFoMPMclRcL9lrXeDc
FymEx/zQHxtoXYR4roffK7xvLjCmonkQ6nopGNbcS9fR8hweatrxayb6CsRnd5QXXEVh
sezw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112; t=1678095711;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=KHLWt4SFcy5d3KGmDzqpKrFQGir4fMGvuU4gHfpcVDQ=;
b=bHllgOiXQ7QNb/Q2plRC1rMOzPk+LWRVT0YgGYHb1kA0qBFK9o2O1oUpU+9617R1As
F3pZAQ6hM5ShDaQLbpzhGHvIdrxSyVlWL2GDaY0/Oy+AtsiUB/ejMDPyO/vrZP1T8vnJ
wD5k/HjARvHCVS8FjuVynYbaNKoI8jIC3X+DxNZ+T+1P/KJVApnX8ExZktOcA6ZwSS6B
W1ec0NsQIWpBmTNgqYxD8Dn3Hfto+liDkD7K1+NBsxy63Yq3mEN6ymjckfPb6PuXJojI
QUMhYfN+ih1Lg7B2+gPJDpcKqo4PedcGvEYu2PBiB3hlx/kPBmd7tXp66JjQ1QI+zF85
rrGQ==
X-Gm-Message-State: AO0yUKVOA3yV6SPNdYFas2qkyV4JI2jCflWZAsh50lYX7WmULP/Nncb5
vVJ7faIti9lv2J1NiMqOiQ6Hs6CvmUyVBvb/N21Vz6kmXhI=
X-Google-Smtp-Source: AK7set8t8jRvCk/nLe+DUPUHvVQsD2vWjU4awePbjuoatEvjtjHG8xu0MBpJdOatCBhzGCyWjvh2f6WH4rbD+UJd7WM=
X-Received: by 2002:a05:6870:3a12:b0:16e:9d0:2211 with SMTP id
du18-20020a0568703a1200b0016e09d02211mr3480199oab.11.1678095711441; Mon, 06
Mar 2023 01:41:51 -0800 (PST)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Mon, 6 Mar 2023 11:41:40 +0200
Message-ID: <CAFVMu-qj835_+rWH5h01M4GA-YeoXKELPUnebzP0U8wVhRggxA@mail.gmail.com>
Subject: bazel-zig-cc v1.0.1: relicense to Apache v2
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi folks,
I just cut bazel-zig-cc v1.0.1:
- partially relicensed[1] to Apache v2.
- download zig sdk from mirror.bazel.build by default instead of
dl.jakstys.lt. Thanks for no longer using the server from my closet --
turns out Google is generous enough to mirror such files[3]. You can
now safely omit the "version", "url_formats" and
"host_platform_sha256" -- we intend to keep upgrading bazel-zig-cc to
a reasonalby new Zig version, forever mirrored to mirror.bazel.build.
- upgraded Zig to 0.11.0-dev.1796+c9e02d3e6. This Zig fails the linker
step on unsupported linker flags[4], which will make
autoconf/automake/cmake invocations with zig cc more robust (it used
to emit a linker warning if it found an unsupported linker flag,
sometimes with unexpected consequences).
We created a #zig channel in Bazel Slack. Bazel says the invitation
link[2] will be active for 14 days. Just find us on #zig in
bazel.slack.com if you want to chat.
All following contributions to bazel-zig-cc will be accepted only
under Apache 2.0 license; this was the last required step before
moving the repository to github/uber. The move took longer than I
though it would, but rest assured, it is happening. Before the move,
let's keep using this mailing list and Slack for comms. After the
move, the this mailing list will be replaced by github issues/PRs,
Slack will stay.
Motiejus
[1]: https://git.sr.ht/~motiejus/bazel-zig-cc/commit/dfdb1f26805c1ccf6d1113276d40c8ce4c1fa17e
[2]: https://join.slack.com/share/enQtNDkwMTIxOTk0NTk1NS01OGUyNjM4ODQ2MDI1NjdiNmYyOTMxMGNiOWRiMDU2YmY0MmYwNWU1ZjI5NzNmMjMzZGExNDJkZGE0NzI5N2I3
[3]: https://github.com/bazelbuild/bazel/issues/17635
[4]: https://github.com/ziglang/zig/pull/11906
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=edgelesscompute.onmicrosoft.com header.i=@edgelesscompute.onmicrosoft.com
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2097.outbound.protection.outlook.com [40.107.7.97])
by mail-b.sr.ht (Postfix) with ESMTPS id F133511F008
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 7 Mar 2023 16:15:11 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
b=YFyoDL4c9ZGF1XLga63UMYYIqSIKUKYzRvAEJwGsRZsSHCD+8ZX1gbidlGvNRMPFuAGZAo2uFzAiAdy4qcgVuWyNAKU/lJ2e+RF4f3/IPt7ciA+MwD71ywMMBMVKrxtvQeN9KxGqeU7XHI6Es6n/ji7rRCV8RyLWDQYTlSwsGSZ1cJGgkduCtgGrNw4J69APFV1uCdIytuwE4pZSguSb8izZGndSgfcE/hecZf+YGYWZ7sFbZ88fDHzjrR06XFrW+vYKur3ShGhuFbUYqotYagKqrHftVZXIMNL2w/wLW3Ha513JyyU2ljta7+LOzAXt9erSFkal+7gphXFj5h+nTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector9901;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=kc32X+Y0WyUOgZl4j7AgAFhn/Pu5ywsL1ZGM9wQO6C4=;
b=fD164Kgsw0HYAXnHsFx15Ml7/UrDaNh1xkWkFDWUAsBgFeXK8O41hKmALDYpvvbkYFB97VPDui0S9uugrHN1yZ9bn0XG4yCYumOp19LsTG9CpD0/EFmjLsntO422qtHTLl3FLtxeI308m47Xa8Tc2nx0WJICjk588rMfP3SQyg7gsWXsZXN/zs/ynElsVyS8sgUmg6U5r5w6+i4naaF9YnepJjU/b0bJEgNcFoT/geeBXklU9fzWfJddzFoZcvcpGib7cyQkNGi829hHxiPpeBZ04X5IqTYmSuD4wUxfb8knhfaBPpUUSaMvqj4HUADKOiMQUARd4NTeDxZqDisAHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=edgeless.systems; dmarc=pass action=none
header.from=edgeless.systems; dkim=pass header.d=edgeless.systems; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=edgelesscompute.onmicrosoft.com;
s=selector1-edgelesscompute-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=kc32X+Y0WyUOgZl4j7AgAFhn/Pu5ywsL1ZGM9wQO6C4=;
b=UR+6TzHq5DyTQZlVyDepW9TUnjyO7JfRCgtrJ3EHZ+/ntSJxq7oLqsgCCkEFpRH20H7YzZ1lqRqAlmeYcPQ+0vheMxNiCB0FTGTF+BtbuqxgcKkOi/rzNjFX875FvaOrU0QyOALb6g5okorIVBCxSHCTz4ywt9wUxcl1XlkoJWM=
Received: from AM6PR02MB4470.eurprd02.prod.outlook.com (2603:10a6:20b:60::26)
by AS2PR02MB9692.eurprd02.prod.outlook.com (2603:10a6:20b:5e8::11) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.27; Tue, 7 Mar
2023 16:15:09 +0000
Received: from AM6PR02MB4470.eurprd02.prod.outlook.com
([fe80::77cb:f64d:66e1:45fe]) by AM6PR02MB4470.eurprd02.prod.outlook.com
([fe80::77cb:f64d:66e1:45fe%4]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
16:15:09 +0000
From: Malte Poll <mp@edgeless.systems>
To: "~motiejus/bazel-zig-cc@lists.sr.ht" <~motiejus/bazel-zig-cc@lists.sr.ht>
Subject: bazel-zig-cc embeds bazel cache path in go binary
Thread-Topic: bazel-zig-cc embeds bazel cache path in go binary
Thread-Index: AQHZUQyCt72lM2cHQEOQ7xqzbgSQqq7vfVcN
Date: Tue, 7 Mar 2023 16:15:08 +0000
Message-ID:
<AM6PR02MB44704BD42717C2D472D0CEB6B5B79@AM6PR02MB4470.eurprd02.prod.outlook.com>
References:
<AM6PR02MB4470CFBE0B194EA91E16F552B5B79@AM6PR02MB4470.eurprd02.prod.outlook.com>
In-Reply-To:
<AM6PR02MB4470CFBE0B194EA91E16F552B5B79@AM6PR02MB4470.eurprd02.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
msip_labels:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM6PR02MB4470:EE_|AS2PR02MB9692:EE_
x-ms-office365-filtering-correlation-id: a6e36297-a00c-464c-c0e4-08db1f271f26
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
ISz03HwFPOTDBB5O8gfF2GjpDkCaoJ4PpzRhTFaTkupaENU8Q88C6k5hUlKSJaK8f/E/lI0TjYifSCUxRv9OB+EqgMaADIr/W4aeSrlL0HzUovY4jkj6qp6dprdM0XHMUpOmUTZvt7APYoPJ7NKywZBAU7Z6Yl1jsxJNzMRTnIdaaHkgOz9lLc85+9Jb5LL/dKSktE+MEME6Dgat80upf5iZeZTrW+DqLXVCUn4SPVvzUOcJjZBanLwViKoyxlJvqH/ukqgDWRvIWXadCCAbqx5HXoDeIpUPCNkypztx86mpeyoBbP7IzhJd72ikyYF0txLUfIR8LRO00LWLdjM5qoH2eAi0oxs/iXxxrEZLThU7z/lWMTL9FUouQT9UMwqVnNFrRk9LEXaEfnMo4QGHFtBvntnxEzsvABP8a1jODRKvf7zmOyp8PgUCaO1tXl9t+dP9qfzclo+kxQ031Y0X3RGo4bvBzS+qb9L7iaeG2Wj3BceiItUwM+lcFV8L5X9BsQH0kI3CqhUuydlcWqBMzSPQGP/f/XceZHqZj37juhIO8JTFYyi3ghqbnsOC5UhVbgPIZC8vFIWDG93HGFqzeuOqM5uFP17JrIo/TAEWlKFqHURjQBldoQo29GM2TRo1NWO0GqNFol/qmfTzlU5KKZXtx0tE5InFS0XzupNYSSXtuYXKTpA6n1Zie5S9x8NzLOYK4kJSRdNZugiOrnCSn9u9efopbkFNPNCxMhD6VNE=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR02MB4470.eurprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(39840400004)(376002)(136003)(396003)(451199018)(8936002)(66556008)(5660300002)(52536014)(66446008)(91956017)(66946007)(66476007)(2906002)(8676002)(64756008)(76116006)(316002)(478600001)(71200400001)(7696005)(6506007)(41300700001)(26005)(86362001)(33656002)(99936003)(122000001)(38070700005)(55016003)(186003)(38100700002)(2940100002)(9686003)(46492015);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?koi8-r?Q?0M9jpOLG1j60GnuKUfgLhF3p8V6n22wwZgOWHmgTjOodK2O5SE0qEOYPMvIVHl?=
=?koi8-r?Q?WSqUXFOeFAxRmrPse+AxeTYRPKDo6V5pyoIASh4KXLQA1obS7uGWLNFTicd9V+?=
=?koi8-r?Q?t78lO7l7OkgngeFIMsmaegczTCVPKwMDPoh7P3ccuJB3qKKGkDYgj7nmr3+SPy?=
=?koi8-r?Q?vrMa7+7IWYjXjeSsjisLbrTibGW0cWPKv4RP77zOW0whdC9KHlZ8PRUi/faFVD?=
=?koi8-r?Q?nfs7YEA0cbb0rCgpnHa4KYHdP3ItjUSo4JNpkD51oENQWdRyfYlkD+anvaoxwr?=
=?koi8-r?Q?kTPL3YDdqyjFWHvoABW1TubTx3Ukc06dvcrEheq5W9AWWsuwxiB+uGQnFRdTlZ?=
=?koi8-r?Q?STYA+0i0EHNZzlnUFBfaul2xBiDMj1qrxobu6UhxXXiFPMeYT0j4YL/2D4vQOE?=
=?koi8-r?Q?cuv5tc5xeJXvM0W6bFBbmgASLT9RLclZJUPD2Ejef6aI/7MidcuFJ4o7H3tjy1?=
=?koi8-r?Q?6CiSGgDR072OrwmHKdrV7luusNnNJiqRAJNdMBLnmbLpXwzeKoMc66xeP6RcFG?=
=?koi8-r?Q?bf0SqtnfYL2fEcqmNm7bQoedm8j5XnplsdNTdRM1FM0NCrC0gJPmgboP9zI8jB?=
=?koi8-r?Q?QOfOStKA8rKvSmDyl8ResDzLccDzSyKAimMKcSNiSrgq6E2E6WEpqWNDAMgH9x?=
=?koi8-r?Q?ggBg+RrexWFXxjjsHVryA01Mf/EMSCm8XZs30zR4PN0OqtxdTrT29K9T7rSSgv?=
=?koi8-r?Q?i5ozelFh4qTtrTMbMW7uuSojXZbDrye5McUtoWYxzCQygrN/I2+9O44p8C8DWG?=
=?koi8-r?Q?FluUajqtjQHEqf0wCQ2NI0nbNaIoV0REwQ7HP7226WO8t5d/JtfJEIV/1cqOHF?=
=?koi8-r?Q?aDHI3X6kTeN0F78QN8tRN2D1/y45vtTsM21vN5kVtodsq7XKPOYUnuoAabUuza?=
=?koi8-r?Q?RLvQs8nhbps+Nf06jNjGdHeqaiS7mg1taV7+R+7ZnOxe/UsN8RzYHp9Z0GOUO3?=
=?koi8-r?Q?itmpIwSIlSlgdrCaTPI7LWhzd2k0XpAsU8OjN9GGB2ZYy9Po1YLpbl0FEFYqYR?=
=?koi8-r?Q?5h0q3KVfkBu8w8FC8gKWCFXakYh/vY2CtINwenYuK7nfrbilHuJp3BDK6pJvWU?=
=?koi8-r?Q?C1IuXx6jm2hHDP+9/i7hRoEAp6jVxpmKWt5AGGT75qNrgHBJW0TMs4ZIZbZMAU?=
=?koi8-r?Q?Q4Pci/OP0vXP/TIeL7OYpGYPs6m/1eb4k3EZZZZybYF+mLRntfsUG0pc7fUwj8?=
=?koi8-r?Q?hDEJcBTHX2vuwTbCHX4Nz0X6yVYJcCZ/6wOnqyAHpIc52qdnW322kpQhALXI4E?=
=?koi8-r?Q?At2uVI+lZ1CxSe3qQ8UyIEDIYB+J1oiL2iJltG2Km4uhyI+pGUYUcL5GmNkbLH?=
=?koi8-r?Q?W/hslADCNCsdQJVRCm3AVyEXrAqteAgDAkVxweHTV8UpEwGrZUnMAcRz+8s4kT?=
=?koi8-r?Q?KiHBy95XJYzvCqH3iM3/tGBSNQR1kVPm7NQnDIbkbL7qQJAyeX/myKQtQS9nii?=
=?koi8-r?Q?t2ygmOF1mghHsPEKU1gh3KiH8/1YJwYf3Q2GADKrvjSOWuxtemtBR61kU9MSWa?=
=?koi8-r?Q?QdgPt4OFOZu6QrGa5+6+SZ8C1xhwBidZ/n5+iN6S2pSchVBNim?=
Content-Type: multipart/mixed;
boundary="_002_AM6PR02MB44704BD42717C2D472D0CEB6B5B79AM6PR02MB4470eurp_"
MIME-Version: 1.0
X-OriginatorOrg: edgeless.systems
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM6PR02MB4470.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a6e36297-a00c-464c-c0e4-08db1f271f26
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Mar 2023 16:15:08.9407
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: adb650a8-5da3-4b15-b4b0-3daf65ff7626
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: WcbKeuQVhy3hOFEsKPySBOKtIhGY3yj6clxXG4yZ9bIH3ISmIn73HJmTMfCdrgw2I2JeMmFuVWM26Zyt8dKS9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR02MB9692
--_002_AM6PR02MB44704BD42717C2D472D0CEB6B5B79AM6PR02MB4470eurp_
Content-Type: text/plain; charset="koi8-r"
Content-Transfer-Encoding: quoted-printable
=0A=
Hello,=0A=
=0A=
I was checking if bazel-zig-cc produces reproducible go binaries if used as=
a compiler for cgo.=0A=
As a test, I compiled the same binary on the same commit on two different s=
ystems (Ubuntu, Fedora) and in two different paths at different times.=0A=
=0A=
The binaries are not reproducible. At least some differences seem to be com=
ing from bazel-zig-cc:=0A=
=0A=
The paths to pthread.h and signal.h on my build system are embedded in the =
resulting binary. See below for an instance of this behavior.=0A=
Do you think this can be prevented to make the resulting binary more hermet=
ic / reproducible?=0A=
=0A=
- [15809be] /root/.cache/bazel/_bazel_root/378578e4f433132b2cb209458a9b5=
6bc/sandbox/processwrapper-sandbox/44/execroot/__main__/external/zig_sdk/to=
ols/x86_64-linux-gnu.2.34/../../lib/libc/include/generic-glibc/pthread.h=0A=
=81 - [1580a8e] gcc_libinit.c=0A=
=81 - [1580a9c] pthread_create failed: %s=0A=
=81 - [1580ab6] gcc_linux_amd64.c=0A=
=81 - [1580ac8] /root/.cache/bazel/_bazel_root/378578e4f433132b2cb209458a=
9b56bc/sandbox/processwrapper-sandbox/44/execroot/__main__/external/zig_sdk=
/tools/x86_64-linux-gnu.2.34/../../lib/libc/include/generic-glibc/pthread.h=
=0A=
=81 - [1580b98] /root/.cache/bazel/_bazel_root/378578e4f433132b2cb209458a=
9b56bc/sandbox/processwrapper-sandbox/44/execroot/__main__/external/zig_sdk=
/tools/x86_64-linux-gnu.2.34/../../lib/libc/include/generic-glibc/signal.h=
=0A=
=81 - [1580c67] malloc failed: %s=0A=
=81 - [1580c79] bad stack bounds: lo=3D%p hi=3D%p\n=0A=
=81 - [1580c98] pthread_create failed: %s=0A=
=81 - [1580cb2] gcc_util.c=0A=
=81 - [1580cbd] runtime/cgo: out of memory in thread_start\n=0A=
=81 + [15809be] gcc_libinit.c=0A=
=81 + [15809cc] /home/malte/.cache/bazel/_bazel_malte/bb1175a64d2f0f71785=
aea697a0484ea/sandbox/linux-sandbox/224/execroot/__main__/external/zig_sdk/=
tools/x86_64-linux-gnu.2.34/../../lib/libc/include/generic-glibc/pthread.h=
=0A=
=81 + [1580a9b] pthread_create failed: %s=0A=
=81 + [1580ab5] gcc_linux_amd64.c=0A=
=81 + [1580ac7] malloc failed: %s=0A=
=81 + [1580ad9] /home/malte/.cache/bazel/_bazel_malte/bb1175a64d2f0f71785=
aea697a0484ea/sandbox/linux-sandbox/224/execroot/__main__/external/zig_sdk/=
tools/x86_64-linux-gnu.2.34/../../lib/libc/include/generic-glibc/pthread.h=
=0A=
=81 + [1580ba8] bad stack bounds: lo=3D%p hi=3D%p\n=0A=
=81 + [1580bc7] /home/malte/.cache/bazel/_bazel_malte/bb1175a64d2f0f71785=
aea697a0484ea/sandbox/linux-sandbox/224/execroot/__main__/external/zig_sdk/=
tools/x86_64-linux-gnu.2.34/../../lib/libc/include/generic-glibc/signal.h=
=0A=
=81 + [1580c95] pthread_create failed: %s=0A=
=81 + [1580caf] gcc_util.c=0A=
=81 + [1580cba] runtime/cgo: out of memory in thread_start\n=0A=
=0A=
Attached is the full output of diffoscope.=0A=
=0A=
Kind regards,=0A=
Malte Poll=0A=
=0A=
=0A=
--_002_AM6PR02MB44704BD42717C2D472D0CEB6B5B79AM6PR02MB4470eurp_
Content-Type: text/plain; name="diffoscope.txt"
Content-Description: diffoscope.txt
Content-Disposition: attachment; filename="diffoscope.txt"; size=13002;
creation-date="Tue, 07 Mar 2023 16:05:00 GMT";
modification-date="Tue, 07 Mar 2023 16:13:14 GMT"
Content-Transfer-Encoding: base64
LS0tIGJvb3RzdHJhcHBlci1mZWRvcmEKKysrIGJvb3RzdHJhcHBlci11YnVudHUK4pSc4pSA4pSA
IHJlYWRlbGYgLS13aWRlIC0tc2VjdGlvbnMge30K4pSCIEBAIC0xMCwxNSArMTAsMTUgQEAK4pSC
ICAgIFsgNV0gLmdudS52ZXJzaW9uICAgICAgVkVSU1lNICAgICAgICAgIDAwMDAwMDAwMDA5NjIx
NTggNzYyMTU4IDA5ZDdkOCAwMiAgIEEgIDQgICAwICAyCuKUgiAgICBbIDZdIC5nbnUudmVyc2lv
bl9yICAgIFZFUk5FRUQgICAgICAgICAwMDAwMDAwMDAwOWZmOTMwIDdmZjkzMCAwMDAwYjAgMDAg
ICBBICA5ICAgMiAgNArilIIgICAgWyA3XSAuZ251Lmhhc2ggICAgICAgICBHTlVfSEFTSCAgICAg
ICAgMDAwMDAwMDAwMDlmZjllMCA3ZmY5ZTAgMjA5YTIwIDAwICAgQSAgNCAgIDAgIDgK4pSCICAg
IFsgOF0gLmhhc2ggICAgICAgICAgICAgSEFTSCAgICAgICAgICAgIDAwMDAwMDAwMDBjMDk0MDAg
YTA5NDAwIDI3NWY2OCAwNCAgIEEgIDQgICAwICA0CuKUgiAgICBbIDldIC5keW5zdHIgICAgICAg
ICAgIFNUUlRBQiAgICAgICAgICAwMDAwMDAwMDAwZTdmMzY4IGM3ZjM2OCBkZTc2ZTQgMDAgICBB
ICAwICAgMCAgMQrilIIgICAgWzEwXSAucmVsYS5keW4gICAgICAgICBSRUxBICAgICAgICAgICAg
MDAwMDAwMDAwMWM2NmE1MCAxYTY2YTUwIDAwMDA0OCAxOCAgIEEgIDQgICAwICA4CuKUgiAgICBb
MTFdIC5yZWxhLnBsdCAgICAgICAgIFJFTEEgICAgICAgICAgICAwMDAwMDAwMDAxYzY2YTk4IDFh
NjZhOTggMDAwNzA4IDE4ICBBSSAgNCAgMjUgIDgK4pSCIC0gIFsxMl0gLnJvZGF0YSAgICAgICAg
ICAgUFJPR0JJVFMgICAgICAgIDAwMDAwMDAwMDFjNjcxYTAgMWE2NzFhMCAxNTgwY2Y4IDAwIEFN
UyAgMCAgIDAgMzIK4pSCICsgIFsxMl0gLnJvZGF0YSAgICAgICAgICAgUFJPR0JJVFMgICAgICAg
IDAwMDAwMDAwMDFjNjcxYTAgMWE2NzFhMCAxNTgwY2YwIDAwIEFNUyAgMCAgIDAgMzIK4pSCICAg
IFsxM10gLnR5cGVsaW5rICAgICAgICAgUFJPR0JJVFMgICAgICAgIDAwMDAwMDAwMDMxZTdlYTAg
MmZlN2VhMCAwMmQwZWMgMDAgICBBICAwICAgMCAzMgrilIIgICAgWzE0XSAuaXRhYmxpbmsgICAg
ICAgICBQUk9HQklUUyAgICAgICAgMDAwMDAwMDAwMzIxNGZhMCAzMDE0ZmEwIDAxMWUwMCAwMCAg
IEEgIDAgICAwIDMyCuKUgiAgICBbMTVdIC5nb3BjbG50YWIgICAgICAgIFBST0dCSVRTICAgICAg
ICAwMDAwMDAwMDAzMjI2ZGEwIDMwMjZkYTAgMWVhNTQ1OCAwMCAgIEEgIDAgICAwIDMyCuKUgiAg
ICBbMTZdIC5laF9mcmFtZV9oZHIgICAgIFBST0dCSVRTICAgICAgICAwMDAwMDAwMDA1MGNjMWY4
IDRlY2MxZjggMDAwMjg0IDAwICAgQSAgMCAgIDAgIDQK4pSCICAgIFsxN10gLmVoX2ZyYW1lICAg
ICAgICAgUFJPR0JJVFMgICAgICAgIDAwMDAwMDAwMDUwY2M0ODAgNGVjYzQ4MCAwMDBhMTQgMDAg
ICBBICAwICAgMCAgOArilIIgICAgWzE4XSAudGV4dCAgICAgICAgICAgICBQUk9HQklUUyAgICAg
ICAgMDAwMDAwMDAwNTBjZGVhMCA0ZWNjZWEwIDM0NGM5YzIgMDAgIEFYICAwICAgMCAzMgrilIIg
ICAgWzE5XSAuaW5pdCAgICAgICAgICAgICBQUk9HQklUUyAgICAgICAgMDAwMDAwMDAwODUxYTg2
NCA4MzE5ODY0IDAwMDAxNyAwMCAgQVggIDAgICAwICA0CuKUnOKUgOKUgCByZWFkZWxmIC0td2lk
ZSAtLXN5bWJvbHMge30K4pSCIEBAIC05NTMwOCwxNSArOTUzMDgsMTUgQEAK4pSCICAgOTUzMDQ6
IDAwMDAwMDAwMDFkNDJhYWQgICAgMzMgT0JKRUNUICBHTE9CQUwgREVGQVVMVCAgIDEyIHR5cGU6
LkUra0JnZ00xCuKUgiAgIDk1MzA1OiAwMDAwMDAwMDA1NGE5OWEwICAgMzk0IEZVTkMgICAgR0xP
QkFMIERFRkFVTFQgICAxOCBnaXRodWIuY29tL2dvZ28vcHJvdG9idWYvcHJvdG8ubWFrZVN0ZERv
dWJsZVZhbHVlTWFyc2hhbGVyLmZ1bmMxCuKUgiAgIDk1MzA2OiAwMDAwMDAwMDA3M2Q5YTQwICAz
OTE5IEZVTkMgICAgR0xPQkFMIERFRkFVTFQgICAxOCBnaXRodWIuY29tL2F3cy9hd3Mtc2RrLWdv
LXYyL3NlcnZpY2UvZWMyLigqYXdzRWMycXVlcnlfc2VyaWFsaXplT3BDcmVhdGVTdWJuZXRDaWRy
UmVzZXJ2YXRpb24pLkhhbmRsZVNlcmlhbGl6ZQrilIIgICA5NTMwNzogMDAwMDAwMDAwODBiNmE2
MCAgIDEyNyBGVU5DICAgIEdMT0JBTCBERUZBVUxUICAgMTggZ2l0aHViLmNvbS9hd3MvYXdzLXNk
ay1nby9zZXJ2aWNlL2lhbS4oKkRlbGV0ZUluc3RhbmNlUHJvZmlsZUlucHV0KS5Hb1N0cmluZwri
lIIgICA5NTMwODogMDAwMDAwMDAwNTRhOTdlMCAgIDQyOSBGVU5DICAgIEdMT0JBTCBERUZBVUxU
ICAgMTggZ2l0aHViLmNvbS9nb2dvL3Byb3RvYnVmL3Byb3RvLm1ha2VTdGREb3VibGVWYWx1ZU1h
cnNoYWxlci5mdW5jMgrilIIgICA5NTMwOTogMDAwMDAwMDAwODE3Y2Y4MCAgICA0OCBGVU5DICAg
IEdMT0JBTCBERUZBVUxUICAgMTggZ2l0aHViLmNvbS9BenVyZS9henVyZS1zZGstZm9yLWdvL3Nl
cnZpY2VzL2tleXZhdWx0L3Y3LjEva2V5dmF1bHQuKCpDZXJ0aWZpY2F0ZUlzc3Vlckxpc3RSZXN1
bHQpLklzSFRUUFN0YXR1cwrilIIgICA5NTMxMDogMDAwMDAwMDAwMzA1NTdjMCAgICAzMiBPQkpF
Q1QgIEdMT0JBTCBERUZBVUxUICAgMTIgZ286aXRhYi4qY2xvdWQuZ29vZ2xlLmNvbS9nby9jb21w
dXRlL2FwaXYxL2NvbXB1dGVwYi5BZ2dyZWdhdGVkTGlzdFVybE1hcHNSZXF1ZXN0LGdvb2dsZS5n
b2xhbmcub3JnL3Byb3RvYnVmL3JlZmxlY3QvcHJvdG9yZWZsZWN0LlByb3RvTWVzc2FnZQrilIIg
LSA5NTMxMTogMDAwMDAwMDAwMzFlN2U5MCAgICAgOCBPQkpFQ1QgIEdMT0JBTCBERUZBVUxUICAg
MTIgX2Nnb195aWVsZArilIIgKyA5NTMxMTogMDAwMDAwMDAwMzFlN2U4OCAgICAgOCBPQkpFQ1Qg
IEdMT0JBTCBERUZBVUxUICAgMTIgX2Nnb195aWVsZArilIIgICA5NTMxMjogMDAwMDAwMDAwMWNh
ZjRhNiAgICAxOCBPQkpFQ1QgIEdMT0JBTCBERUZBVUxUICAgMTIgdHlwZTouZnJGMkxFZ0sK4pSC
ICAgOTUzMTM6IDAwMDAwMDAwMDU0ZDEyNDAgICAgOTkgRlVOQyAgICBHTE9CQUwgREVGQVVMVCAg
IDE4IGs4cy5pby9hcGltYWNoaW5lcnkvcGtnL2FwaS9yZXNvdXJjZS5pbmZEZWNBbW91bnQuTWFy
c2hhbFRleHQK4pSCICAgOTUzMTQ6IDAwMDAwMDAwMDU2MWZlMjAgICA3NjMgRlVOQyAgICBHTE9C
QUwgREVGQVVMVCAgIDE4IGdvbGFuZy5vcmcveC9uZXQvaHR0cDIvaHBhY2suaHVmZm1hbkRlY29k
ZQrilIIgICA5NTMxNTogMDAwMDAwMDAwNTk0Y2EyMCAgICAyNiBGVU5DICAgIEdMT0JBTCBERUZB
VUxUICAgMTggZ29sYW5nLm9yZy94L3N5cy91bml4LigqVGltZXZhbCkuTmFubwrilIIgICA5NTMx
NjogMDAwMDAwMDAwNjI3NTA4MCAgIDM3OSBGVU5DICAgIEdMT0JBTCBERUZBVUxUICAgMTggZW5j
b2RpbmcveG1sLmlzTmFtZVN0cmluZwrilIIgICA5NTMxNzogMDAwMDAwMDAwMjA0ZDk4MCAgICA4
MCBPQkpFQ1QgIEdMT0JBTCBERUZBVUxUICAgMTIgdHlwZTpZdXZRMG8wYQrilIIgICA5NTMxODog
MDAwMDAwMDAwMWQ0ZDY2YSAgICAzNCBPQkpFQ1QgIEdMT0JBTCBERUZBVUxUICAgMTIgdHlwZTou
eS9sNHhuUW0K4pSc4pSA4pSAIHN0cmluZ3MgLS1hbGwgLS1ieXRlcz04IHt9CuKUgiBAQCAtNDAz
OTM2LDIyICs0MDM5MzYsMjIgQEAK4pSCICAkKDA3PkZNVV1lbQrilIIgICEmLjY8QkhNVVxkCuKU
giAgIScuNDtDSVFWXWUK4pSCICAgIiQoKiwwMjQ2egrilIIgIAkJCQkJCQkwCuKUgiAgZ2NjX2Zh
dGFsZi5jCuKUgiAgcnVudGltZS9jZ286IArilIIgLS9yb290Ly5jYWNoZS9iYXplbC9fYmF6ZWxf
cm9vdC8zNzg1NzhlNGY0MzMxMzJiMmNiMjA5NDU4YTliNTZiYy9zYW5kYm94L3Byb2Nlc3N3cmFw
cGVyLXNhbmRib3gvNDQvZXhlY3Jvb3QvX19tYWluX18vZXh0ZXJuYWwvemlnX3Nkay90b29scy94
ODZfNjQtbGludXgtZ251LjIuMzQvLi4vLi4vbGliL2xpYmMvaW5jbHVkZS9nZW5lcmljLWdsaWJj
L3B0aHJlYWQuaArilIIgIGdjY19saWJpbml0LmMK4pSCICsvaG9tZS9tYWx0ZS8uY2FjaGUvYmF6
ZWwvX2JhemVsX21hbHRlL2JiMTE3NWE2NGQyZjBmNzE3ODVhZWE2OTdhMDQ4NGVhL3NhbmRib3gv
bGludXgtc2FuZGJveC8yMjQvZXhlY3Jvb3QvX19tYWluX18vZXh0ZXJuYWwvemlnX3Nkay90b29s
cy94ODZfNjQtbGludXgtZ251LjIuMzQvLi4vLi4vbGliL2xpYmMvaW5jbHVkZS9nZW5lcmljLWds
aWJjL3B0aHJlYWQuaArilIIgIHB0aHJlYWRfY3JlYXRlIGZhaWxlZDogJXMK4pSCICBnY2NfbGlu
dXhfYW1kNjQuYwrilIIgLS9yb290Ly5jYWNoZS9iYXplbC9fYmF6ZWxfcm9vdC8zNzg1NzhlNGY0
MzMxMzJiMmNiMjA5NDU4YTliNTZiYy9zYW5kYm94L3Byb2Nlc3N3cmFwcGVyLXNhbmRib3gvNDQv
ZXhlY3Jvb3QvX19tYWluX18vZXh0ZXJuYWwvemlnX3Nkay90b29scy94ODZfNjQtbGludXgtZ251
LjIuMzQvLi4vLi4vbGliL2xpYmMvaW5jbHVkZS9nZW5lcmljLWdsaWJjL3B0aHJlYWQuaArilIIg
LS9yb290Ly5jYWNoZS9iYXplbC9fYmF6ZWxfcm9vdC8zNzg1NzhlNGY0MzMxMzJiMmNiMjA5NDU4
YTliNTZiYy9zYW5kYm94L3Byb2Nlc3N3cmFwcGVyLXNhbmRib3gvNDQvZXhlY3Jvb3QvX19tYWlu
X18vZXh0ZXJuYWwvemlnX3Nkay90b29scy94ODZfNjQtbGludXgtZ251LjIuMzQvLi4vLi4vbGli
L2xpYmMvaW5jbHVkZS9nZW5lcmljLWdsaWJjL3NpZ25hbC5oCuKUgiAgbWFsbG9jIGZhaWxlZDog
JXMK4pSCICsvaG9tZS9tYWx0ZS8uY2FjaGUvYmF6ZWwvX2JhemVsX21hbHRlL2JiMTE3NWE2NGQy
ZjBmNzE3ODVhZWE2OTdhMDQ4NGVhL3NhbmRib3gvbGludXgtc2FuZGJveC8yMjQvZXhlY3Jvb3Qv
X19tYWluX18vZXh0ZXJuYWwvemlnX3Nkay90b29scy94ODZfNjQtbGludXgtZ251LjIuMzQvLi4v
Li4vbGliL2xpYmMvaW5jbHVkZS9nZW5lcmljLWdsaWJjL3B0aHJlYWQuaArilIIgIGJhZCBzdGFj
ayBib3VuZHM6IGxvPSVwIGhpPSVwCuKUgiArL2hvbWUvbWFsdGUvLmNhY2hlL2JhemVsL19iYXpl
bF9tYWx0ZS9iYjExNzVhNjRkMmYwZjcxNzg1YWVhNjk3YTA0ODRlYS9zYW5kYm94L2xpbnV4LXNh
bmRib3gvMjI0L2V4ZWNyb290L19fbWFpbl9fL2V4dGVybmFsL3ppZ19zZGsvdG9vbHMveDg2XzY0
LWxpbnV4LWdudS4yLjM0Ly4uLy4uL2xpYi9saWJjL2luY2x1ZGUvZ2VuZXJpYy1nbGliYy9zaWdu
YWwuaArilIIgIHB0aHJlYWRfY3JlYXRlIGZhaWxlZDogJXMK4pSCICBnY2NfdXRpbC5jCuKUgiAg
cnVudGltZS9jZ286IG91dCBvZiBtZW1vcnkgaW4gdGhyZWFkX3N0YXJ0CuKUgiAgaW50ZXJuYWwv
Y3B1LkluaXRpYWxpemUK4pSCICBpbnRlcm5hbC9jcHUucHJvY2Vzc09wdGlvbnMK4pSCICBpbnRl
cm5hbC9jcHUuaW5kZXhCeXRlCuKUgiAgaW50ZXJuYWwvY3B1LmRvaW5pdArilJzilIDilIAgcmVh
ZGVsZiAtLXdpZGUgLS1kZWNvbXByZXNzIC0tc3RyaW5nLWR1bXA9LnJvZGF0YSB7fQrilIIgQEAg
LTExNTQ2NzcsMTUgKzExNTQ2NzcsMTUgQEAK4pSCICAgICAgICAgICAgICB277+9KSzvv70777+9
Tl5WXlvvv73vv71eRjnvv71LeCvvv73vv71YXk1r77+9Ru+/ve+/ve+/vScK4pSCICAgIFsxM2Uw
YWVlXSAgO++/ve+/vV5G77+977+977+977+977+9Oe+/vSd177+9LV5fJ++/vV5XXkHvv73vv71e
UFksRV5I77+977+9Xkbvv71yXllw77+9Se+/vW7vv73vv73vv70i77+977+977+9Xlzvv70277+9
Je+/vXnvv71sXu+/vQrilIIgICAgWzEzZTBiMmNdICBG77+9PO+/vV5fbEAr77+9O++/vSxfQ15V
77+9Xl1o77+9d17vv71A77+9dnfvv71d77+9ak5eXWDvv73vv73vv71N77+977+9b++/vT9eUe+/
vX1mXlDvv71AXk3vv71eXSbvv71eSVUxde+/vUcK4pSCICAgIFsxM2UwYjZiXSAgIu+/ve+/ve+/
ve+/vV5JI++/ve+/vS9H77+9Xlnvv714Pe+/vVxuCuKUgiAgICAgICAgICAgICAgZ3Pvv73vv71e
WO+/ve+/vV5B77+9I++/ve+/vS1eWF4gYu+/ve+/vUMu77+977+977+977+977+977+9Ku+/ve+/
ve+/ve+/vV5X77+977+977+9XUrvv73vv73vv73vv73vv71z77+977+9YO+/vUDvv73vv71I77+9
77+977+9al5O77+9NE3vv73vv71d77+9Ne+/ve+/vV5MXkheRu+/vUDvv70p77+9be+/vW/vv70x
77+9Xkvvv73vv73vv73vv70777+9XlBgXlx5ce+/ve+/vTXvv73vv73vv709PyXvv73vv70uXl/v
v73vv718XlxeWy16RV5E77+977+9XlDvv71eS++/vW7vv73vv71eQV5F77+9WzB7Xkd877+977+9
Xkzvv718Xkfvv70i77+977+977+977+9Me+/ve+/vUpW77+9cFdD77+977+9RkHvv71YXlTvv73v
v711L++/vSfvv71977+977+9Xu+/vXNJ77+977+9VXTvv71eTUbvv73vv73vv71eUu+/vWp077+9
77+977+9QSJe77+977+977+977+9WV5a77+977+9Xlbvv71+cCQ277+977+977+977+977+977+9
77+9TSlBXG4K4pSCICAgICAgICAgICAgICBsKu+/vTQkWu+/vV5S77+9PVLvv71K77+977+977+9
Ju+/ve+/vUdOXknvv71nXl0K4pSCICAgIFsxM2UwYzg3XSAgJ15T77+9UO+/ve+/vV5PXF5QXkhe
TV5HRO+/ve+/ve+/vV5T77+9WWIi77+9XlXvv71m77+977+9b1/vv71h77+9Ke+/vXvvv73vv71e
TV5U77+977+9TiJe77+9R++/vTtW77+977+977+9Qe+/vTpwJO+/vVc077+977+9XkXvv71eXlrv
v73vv73vv71k77+9Xlgo77+977+977+9Qu+/vV5NaGZX77+977+977+9Ou+/vXMuee+/ve+/ve+/
vVNeXl/vv73vv71eTe+/ve+/ve+/vV5F77+9CuKUgiAtICBbMTNlMGNmOF0gIEbvv70v77+977+9
77+9XltD77+977+977+9XUxAaO+/vSrvv71xXlDvv71wWu+/vWpA77+977+977+9cmgz77+9Xkle
Te+/ve+/ve+/vTws77+977+9Xl4p77+9aF5PXlheUl5U77+977+9fu+/vdyp77+9Kkbvv71D77+9
77+9Xe+/vWF177+9Xk0mSu+/vV5BPe+/vV5M77+977+9NSXvv73vv70077+9Q++/ve+/vUdeRu+/
vVpJL++/ve+/ve+/vVxeRmU977+977+9cFfGil5e77+9fD5p77+9V++/ve+/ve+/ve+/ve+/vUte
XVtV77+977+977+977+9VO+/vVp5Xkbvv71eVe+/ve+/ve+/ve+/vV5Z77+9Jl5E77+9Xlzvv71q
77+9Ju+/vWteXe+/ve+/vWDvv73vv73vv73vv71O77+9Xk5eWu+/vXReUe+/ve+/vV5PXkcyxqFC
77+977+977+9JUvvv73vv73vv71eRW5aVk1eVu+/ve+/ve+/vXs477+9Xu+/ve+/vW3vv71OXklU
Xk7vv706XlpaU++/ve+/vXRcbgrilIIgKyAgWzEzZTBjZjhdICBG77+9L++/ve+/ve+/vV5bQ++/
ve+/ve+/vV1MQGjvv70q77+9cV5Q77+9cFrvv71qQO+/ve+/ve+/vXJoM++/vV5JXk3vv73vv73v
v708LO+/ve+/vV5eKe+/vWheT15YXlJeVO+/ve+/vX7vv73cqe+/vSpG77+9Q++/ve+/vV3vv71h
de+/vV5NJkrvv71eQT3vv71eTO+/ve+/vTUl77+977+9NO+/vV5VXu+/ve+/ve+/ve+/vU9aSS/v
v73vv73vv71cXkZlPe+/ve+/vXBXxopeXu+/vXw+ae+/vVfvv73vv73vv73vv73vv71LXl1bVe+/
ve+/ve+/ve+/vVTvv71aeV5G77+9XlXvv73vv73vv73vv71eWe+/vSZeRO+/vV5c77+9au+/vSbv
v71rXl3vv73vv71g77+977+977+977+9Tu+/vV5OXlrvv710XlHvv73vv71eT15HMsahQu+/ve+/
ve+/vSVL77+977+977+9XkVuWlZNXlbvv73vv73vv717OO+/vV7vv73vv71t77+9Tl5JVF5O77+9
Ol5aWlPvv73vv710XG4K4pSCICAgICAgICAgICAgICBXUO+/vV5GZmV777+9XlZeS++/ve+/vUDv
v73vv71aWe+/vXDvv71+77+977+9OFhcbgrilIIgICAgICAgICAgICAgIFReQ++/vSNx77+977+9
b15NNu+/vV5d77+977+9LmN577+977+977+9XlXvv73vv71taS/vv73vv70o77+9Xl0tRe+/ve+/
ve+/vVc+TO+/vWxeRHws77+977+977+9MTZ6UlXvv73vv70xW15J77+977+977+977+977+977+9
JO+/ve+/ve+/vXleVXDvv71777+9aWvvv73vv71bQl5Z77+9XlQrR15X77+9Xknvv73vv71eVu+/
vTfvv73vv71eQ3NXXG4K4pSCICAgICAgICAgICAgICAxzrHvv70q77+9Ke+/vSNeU3c7RHzvv71e
TF5X77+977+977+9fO+/ve+/ve+/ve+/vXjvv73vv73vv73vv71eRO+/ve+/vUJeV3Dvv73vv71J
Qu+/vcedIWLvv73vv71N77+9XkY7I0nvv73vv700TmU177+9XO+/ve+/vTnvv71benctNyFCIV9e
V++/vSReR++/vV5Y77+9Uu+/vVfvv73vv73vv71V77+9IO+/ve+/vXdk77+9cD7vv71z77+9Xe+/
vTo7d++/ve+/ve+/vTBeR++/vTwi77+977+977+9UO+/vVVwMl5Yfu+/vTdeXV5CaV5Na34k77+9
77+9Ze+/vVIt77+977+977+9X++/vXTvv71L77+977+9XklWXk/emO+/vTReWO+/ve+/vUBgYe+/
vW5QXkHvv73vv73vv73vv73vv71K77+977+9ce+/ve+/ve+/ve+/vSFPNXrvv73vv73vv73vv73v
v709Xlx577+977+9Vn3vv71e77+977+977+977+977+9XlDvv73vv71X77+977+977+977+9R++/
ve+/ve+/vV5ZdGTvv73vv73vv71o77+977+9XlPvv73vv713fV5I77+977+977+9ckvvv71NbF5X
ee+/ve+/vVxeTO+/ve+/vXNNKO+/ve+/vXZeVO+/ve+/vV5S77+977+9c++/ve+/vV5FCuKUgiAg
ICBbMTNlMGY2Zl0gIE/vv715XO+/vV5bX++/ve+/ve+/vT3vv71B77+9fGdg77+9Pnbvv73vv73v
v73vv71eXO+/vXgp77+977+9Ku+/vV5S77+9SDNcaynvv73vv71pUTPvv71eVO+/vV7vv71T77+9
Lu+/vX3vv71V77+9Xu+/vULvv70oTQrilIIgICAgWzEzZTBmYjNdICA/N2rvv73vv73vv73vv712
77+977+977+9Je+/ve+/vV5O77+977+9SV5Hb++/ve+/vUVeRCvvv71eQ++/ve+/vXzvv71eWu+/
vWnvv73vv71cbgrilIIgICAgICAgICAgICAgIGzvv719NV5DXl1s77+977+977+9XldeTe+/ve+/
vV9eWSteVdC677+9NHQjK++/ve+/ve+/ve+/vXEkXlnvv73vv73vv73vv73vv73vv73vv73vv71H
IHLvv73vv73vv71eQu+/vTDvv73vv71Z77+9KkhC77+9NO+/vTLvv70977+977+9bUNtOO+/ve+/
vXHvv73vv73vv71eQk4hS1ZKau+/ve+/vVTvv73vv71F77+9CuKUgiAgICBbMTNlMTAzY10gIFvv
v71eX1zvv71E77+977+977+9XG4K4pSCIEBAIC0xMjM0NDI3LDE5ICsxMjM0NDI3LDE5IEBACuKU
giAgICBbMTU4MDk0MF0gIDdeXl5CCuKUgiAgICBbMTU4MDk1NF0gIEFeXl5CCuKUgiAgICBbMTU4
MDk2OF0gIEteXl5CCuKUgiAgICBbMTU4MDk3Y10gIEteXl5CCuKUgiAgICBbMTU4MDk5MF0gIE5e
Xl5CCuKUgiAgICBbMTU4MDlhMV0gIGdjY19mYXRhbGYuYwrilIIgICAgWzE1ODA5YWVdICBydW50
aW1lL2NnbzogCuKUgiAtICBbMTU4MDliZV0gIC9yb290Ly5jYWNoZS9iYXplbC9fYmF6ZWxfcm9v
dC8zNzg1NzhlNGY0MzMxMzJiMmNiMjA5NDU4YTliNTZiYy9zYW5kYm94L3Byb2Nlc3N3cmFwcGVy
LXNhbmRib3gvNDQvZXhlY3Jvb3QvX19tYWluX18vZXh0ZXJuYWwvemlnX3Nkay90b29scy94ODZf
NjQtbGludXgtZ251LjIuMzQvLi4vLi4vbGliL2xpYmMvaW5jbHVkZS9nZW5lcmljLWdsaWJjL3B0
aHJlYWQuaArilIIgLSAgWzE1ODBhOGVdICBnY2NfbGliaW5pdC5jCuKUgiAtICBbMTU4MGE5Y10g
IHB0aHJlYWRfY3JlYXRlIGZhaWxlZDogJXMK4pSCIC0gIFsxNTgwYWI2XSAgZ2NjX2xpbnV4X2Ft
ZDY0LmMK4pSCIC0gIFsxNTgwYWM4XSAgL3Jvb3QvLmNhY2hlL2JhemVsL19iYXplbF9yb290LzM3
ODU3OGU0ZjQzMzEzMmIyY2IyMDk0NThhOWI1NmJjL3NhbmRib3gvcHJvY2Vzc3dyYXBwZXItc2Fu
ZGJveC80NC9leGVjcm9vdC9fX21haW5fXy9leHRlcm5hbC96aWdfc2RrL3Rvb2xzL3g4Nl82NC1s
aW51eC1nbnUuMi4zNC8uLi8uLi9saWIvbGliYy9pbmNsdWRlL2dlbmVyaWMtZ2xpYmMvcHRocmVh
ZC5oCuKUgiAtICBbMTU4MGI5OF0gIC9yb290Ly5jYWNoZS9iYXplbC9fYmF6ZWxfcm9vdC8zNzg1
NzhlNGY0MzMxMzJiMmNiMjA5NDU4YTliNTZiYy9zYW5kYm94L3Byb2Nlc3N3cmFwcGVyLXNhbmRi
b3gvNDQvZXhlY3Jvb3QvX19tYWluX18vZXh0ZXJuYWwvemlnX3Nkay90b29scy94ODZfNjQtbGlu
dXgtZ251LjIuMzQvLi4vLi4vbGliL2xpYmMvaW5jbHVkZS9nZW5lcmljLWdsaWJjL3NpZ25hbC5o
CuKUgiAtICBbMTU4MGM2N10gIG1hbGxvYyBmYWlsZWQ6ICVzCuKUgiAtICBbMTU4MGM3OV0gIGJh
ZCBzdGFjayBib3VuZHM6IGxvPSVwIGhpPSVwXG4K4pSCIC0gIFsxNTgwYzk4XSAgcHRocmVhZF9j
cmVhdGUgZmFpbGVkOiAlcwrilIIgLSAgWzE1ODBjYjJdICBnY2NfdXRpbC5jCuKUgiAtICBbMTU4
MGNiZF0gIHJ1bnRpbWUvY2dvOiBvdXQgb2YgbWVtb3J5IGluIHRocmVhZF9zdGFydFxuCuKUgiAr
ICBbMTU4MDliZV0gIGdjY19saWJpbml0LmMK4pSCICsgIFsxNTgwOWNjXSAgL2hvbWUvbWFsdGUv
LmNhY2hlL2JhemVsL19iYXplbF9tYWx0ZS9iYjExNzVhNjRkMmYwZjcxNzg1YWVhNjk3YTA0ODRl
YS9zYW5kYm94L2xpbnV4LXNhbmRib3gvMjI0L2V4ZWNyb290L19fbWFpbl9fL2V4dGVybmFsL3pp
Z19zZGsvdG9vbHMveDg2XzY0LWxpbnV4LWdudS4yLjM0Ly4uLy4uL2xpYi9saWJjL2luY2x1ZGUv
Z2VuZXJpYy1nbGliYy9wdGhyZWFkLmgK4pSCICsgIFsxNTgwYTliXSAgcHRocmVhZF9jcmVhdGUg
ZmFpbGVkOiAlcwrilIIgKyAgWzE1ODBhYjVdICBnY2NfbGludXhfYW1kNjQuYwrilIIgKyAgWzE1
ODBhYzddICBtYWxsb2MgZmFpbGVkOiAlcwrilIIgKyAgWzE1ODBhZDldICAvaG9tZS9tYWx0ZS8u
Y2FjaGUvYmF6ZWwvX2JhemVsX21hbHRlL2JiMTE3NWE2NGQyZjBmNzE3ODVhZWE2OTdhMDQ4NGVh
L3NhbmRib3gvbGludXgtc2FuZGJveC8yMjQvZXhlY3Jvb3QvX19tYWluX18vZXh0ZXJuYWwvemln
X3Nkay90b29scy94ODZfNjQtbGludXgtZ251LjIuMzQvLi4vLi4vbGliL2xpYmMvaW5jbHVkZS9n
ZW5lcmljLWdsaWJjL3B0aHJlYWQuaArilIIgKyAgWzE1ODBiYThdICBiYWQgc3RhY2sgYm91bmRz
OiBsbz0lcCBoaT0lcFxuCuKUgiArICBbMTU4MGJjN10gIC9ob21lL21hbHRlLy5jYWNoZS9iYXpl
bC9fYmF6ZWxfbWFsdGUvYmIxMTc1YTY0ZDJmMGY3MTc4NWFlYTY5N2EwNDg0ZWEvc2FuZGJveC9s
aW51eC1zYW5kYm94LzIyNC9leGVjcm9vdC9fX21haW5fXy9leHRlcm5hbC96aWdfc2RrL3Rvb2xz
L3g4Nl82NC1saW51eC1nbnUuMi4zNC8uLi8uLi9saWIvbGliYy9pbmNsdWRlL2dlbmVyaWMtZ2xp
YmMvc2lnbmFsLmgK4pSCICsgIFsxNTgwYzk1XSAgcHRocmVhZF9jcmVhdGUgZmFpbGVkOiAlcwri
lIIgKyAgWzE1ODBjYWZdICBnY2NfdXRpbC5jCuKUgiArICBbMTU4MGNiYV0gIHJ1bnRpbWUvY2dv
OiBvdXQgb2YgbWVtb3J5IGluIHRocmVhZF9zdGFydFxuCuKUnOKUgOKUgCBvYmpkdW1wIC0tbGlu
ZS1udW1iZXJzIC0tZGlzYXNzZW1ibGUgLS1kZW1hbmdsZSAtLXJlbG9jIC0tbm8tc2hvdy1yYXct
aW5zbiAtLXNlY3Rpb249LnRleHQge30K4pSCIEBAIC00MTk0Mjk2LDggKzQxOTQyOTYsOCBAQAri
lIIgIAl0ZXN0ICAgJXIxMiwlcjEyCuKUgiAgCWpuZSAgICA1ZmIyMWFhIDxrOHMuaW8vYXBpL3N0
b3JhZ2UvdjFiZXRhMS4oKlN0b3JhZ2VDbGFzcykuU2V0R2VuZXJhdGVOYW1lQEBCYXNlKzB4NmE+
CuKUgiAgCW1vdiAgICAlcmJ4LDB4MTgoJXJzcCkK4pSCICAJbW92ICAgICVyY3gsMHgzOCglcmF4
KQrilIIgIAljbXBsICAgJDB4MCwweDI3YWQ3ZTUoJXJpcCkgICAgICAgIArilIIgIAlqbmUgICAg
NWZiMjE3MyA8azhzLmlvL2FwaS9zdG9yYWdlL3YxYmV0YTEuKCpTdG9yYWdlQ2xhc3MpLlNldEdl
bmVyYXRlTmFtZUBAQmFzZSsweDMzPgrilIIgIAltb3YgICAgJXJieCwweDMwKCVyYXgpCuKUgiAt
WyBUb28gbXVjaCBpbnB1dCBmb3IgZGlmZiAoU0hBMjU2OiA0NTJmMWE4YzE0NWZkYmRlNmJmZmYy
ZGRjYjUzMWJhMzAyMDUwZGYyZmVhOTdhNDdkNWY4NDMzNjRkMTk5NDM5KSBdCuKUgiArWyBUb28g
bXVjaCBpbnB1dCBmb3IgZGlmZiAoU0hBMjU2OiAxMzg2YjJlNDkyNTYxM2Y5ZWEwMDNlOTY1MzVi
MTFhMDEzZDJkMWJhZTcyYTU1NWUxZmRjY2ZhMmYxNWE1ODhhKSBdCuKUnOKUgOKUgCByZWFkZWxm
IC0td2lkZSAtLWRlY29tcHJlc3MgLS1oZXgtZHVtcD0uZGF0YSB7fQrilIIgQEAgLTE2MywxNSAr
MTYzLDE1IEBACuKUgiAgICAweDA4NTFkYzYwIDIwMzY3MjA4IDAwMDAwMDAwIDY4NDZhNTAyIDAw
MDAwMDAwICA2ci4uLi4uaEYuLi4uLi4K4pSCICAgIDB4MDg1MWRjNzAgNzAzM2E1MDIgMDAwMDAw
MDAgZTBmNjUyMDggMDAwMDAwMDAgcDMuLi4uLi4uLlIuLi4uLgrilIIgICAgMHgwODUxZGM4MCBh
MGY2NTIwOCAwMDAwMDAwMCA5MDkxNTEwOCAwMDAwMDAwMCAuLlIuLi4uLi4uUS4uLi4uCuKUgiAg
ICAweDA4NTFkYzkwIGMwYTA1MTA4IDAwMDAwMDAwIDAwOWM1MTA4IDAwMDAwMDAwIC4uUS4uLi4u
Li5RLi4uLi4K4pSCICAgIDB4MDg1MWRjYTAgNjg0NmE1MDIgMDAwMDAwMDAgZjBhMjUxMDggMDAw
MDAwMDAgaEYuLi4uLi4uLlEuLi4uLgrilIIgICAgMHgwODUxZGNiMCAzMGE1NTEwOCAwMDAwMDAw
MCAxMGE3NTEwOCAwMDAwMDAwMCAwLlEuLi4uLi4uUS4uLi4uCuKUgiAgICAweDA4NTFkY2MwIDYw
MWM1MzA4IDAwMDAwMDAwIDAwNGE1MTA4IDAwMDAwMDAwIGAuUy4uLi4uLkpRLi4uLi4K4pSCIC0g
IDB4MDg1MWRjZDAgZjA0YTUxMDggMDAwMDAwMDAgOTA3ZTFlMDMgMDAwMDAwMDAgLkpRLi4uLi4u
fi4uLi4uLgrilIIgKyAgMHgwODUxZGNkMCBmMDRhNTEwOCAwMDAwMDAwMCA4ODdlMWUwMyAwMDAw
MDAwMCAuSlEuLi4uLi5+Li4uLi4uCuKUgiAgICAweDA4NTFkY2UwIDIwNTA1NTA4IDAwMDAwMDAw
IGEwMTg1MzA4IDAwMDAwMDAwICBQVS4uLi4uLi5TLi4uLi4K4pSCICAgIDB4MDg1MWRjZjAgZTAx
ODUzMDggMDAwMDAwMDAgZTAxNzUzMDggMDAwMDAwMDAgLi5TLi4uLi4uLlMuLi4uLgrilIIgICAg
MHgwODUxZGQwMCA2MDE4NTMwOCAwMDAwMDAwMCAyMDE5NTMwOCAwMDAwMDAwMCBgLlMuLi4uLiAu
Uy4uLi4uCuKUgiAgICAweDA4NTFkZDEwIDIwMTg1MzA4IDAwMDAwMDAwIDg4NTBhNTAyIDAwMDAw
MDAwICAuUy4uLi4uLlAuLi4uLi4K4pSCICAgIDB4MDg1MWRkMjAgNjg1MWE1MDIgMDAwMDAwMDAg
OTg1MGE1MDIgMDAwMDAwMDAgaFEuLi4uLi4uUC4uLi4uLgrilIIgICAgMHgwODUxZGQzMCA3MDUx
YTUwMiAwMDAwMDAwMCBhMDUwYTUwMiAwMDAwMDAwMCBwUS4uLi4uLi5QLi4uLi4uCuKUgiAgICAw
eDA4NTFkZDQwIGMwNTFhNTAyIDAwMDAwMDAwIDQwZTQ3NTA4IDAwMDAwMDAwIC5RLi4uLi4uQC51
Li4uLi4K
--_002_AM6PR02MB44704BD42717C2D472D0CEB6B5B79AM6PR02MB4470eurp_--
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f49.google.com (mail-oa1-f49.google.com [209.85.160.49])
by mail-b.sr.ht (Postfix) with ESMTPS id D268211EE06
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 8 Mar 2023 04:55:55 +0000 (UTC)
Received: by mail-oa1-f49.google.com with SMTP id 586e51a60fabf-176d1a112bfso8752780fac.5
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Tue, 07 Mar 2023 20:55:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112; t=1678251355;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=9OWNyKG0S693D/TEf4qFWuPngIzLU6DKh5d9/x/dRMY=;
b=hiOVHjkZW3TBRG68rVQbPC7jNk/imh0iNTxYZ0TqolGEejfwsv/WXyrOkbXCN578ND
C3rpFVlF6c2pc9lextzNtJxoBeJ1c+uvSLdhvP6gEnrkk3VTrh8iYag7q0HySFDuDM3h
bySWt0+JvvKKhKbwlIyDOAD6id+d0PRaf+HUWGVv5sl/97VScCckKs1k7RKeq5mNF82L
OW5QUEy3+MqHGzkOcHZF5V7Q7i+7udyprEI+p4HopskKWTIGtzgV13eSBvh478WwX+M3
7CK8Ur1G+jiYlo2BqL9Fp/w0HNngic+hA+dRKjex9B8pC9nP8mfDPk+v/P15jm877HlD
NMmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112; t=1678251355;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=9OWNyKG0S693D/TEf4qFWuPngIzLU6DKh5d9/x/dRMY=;
b=zCUX0f3S7iBRK6wuvhei7PwbMCKQL1Lu2ui/zMC+bfiWYPvZi1jUtEHsVrKD30E0pG
bTDj96Eumr5heA1ROn6+oZ/wfyWmUtbjeRSbgDg4vRmR6ZTy0pMkR3FjVTx8G4YszFSW
hiUp1VzkLviBo5Im7wDu/j2P96NYu/Capb8DTtKQ9j54QK5cps2OPLPlUoQLI4zESI5Y
SoWcBnhEoo2WxjabR/R+2DbNLcUDU+Yvl8En2kEZr13OiUeEHgR8ZieJart1m9Q2PIAe
slqVtXu5mbx32rEGoKJjqNhsnvCyg0a+nCST+Soth/FYJ5TLQw28p08uByHlU7CNdXSp
T0LA==
X-Gm-Message-State: AO0yUKXrrP1V1aj9s3EDZsZRkhibFUuoLdVM6otyfqNwg4s5+g8V+KgQ
Nsk7nYZ3ewuNk/sVeDZ1XpYdk/1oarEyQFGs3HL0m1U/qIQ=
X-Google-Smtp-Source: AK7set/7QmoDwktRotABksnlu72yg9mHpeO9E3lP97jqCIRcYlWF3kElgG/pX7uvSH8Vmw1CVIoLwCl0NaOvKGymtrA=
X-Received: by 2002:a05:6870:470b:b0:16e:8993:9d7c with SMTP id
b11-20020a056870470b00b0016e89939d7cmr10158666oaq.1.1678251354846; Tue, 07
Mar 2023 20:55:54 -0800 (PST)
MIME-Version: 1.0
References: <AM6PR02MB4470CFBE0B194EA91E16F552B5B79@AM6PR02MB4470.eurprd02.prod.outlook.com>
<AM6PR02MB44704BD42717C2D472D0CEB6B5B79@AM6PR02MB4470.eurprd02.prod.outlook.com>
In-Reply-To: <AM6PR02MB44704BD42717C2D472D0CEB6B5B79@AM6PR02MB4470.eurprd02.prod.outlook.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Wed, 8 Mar 2023 06:55:43 +0200
Message-ID: <CAFVMu-puXsmnArzMSXw7=TX1ph6BfNTBySxvgxXOgYvMjj_ZwQ@mail.gmail.com>
Subject: Re: bazel-zig-cc embeds bazel cache path in go binary
To: Malte Poll <mp@edgeless.systems>
Cc: "~motiejus/bazel-zig-cc@lists.sr.ht" <~motiejus/bazel-zig-cc@lists.sr.ht>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Tue, Mar 7, 2023 at 6:15=E2=80=AFPM Malte Poll <mp@edgeless.systems> wro=
te:
>
>
> Hello,
>
> I was checking if bazel-zig-cc produces reproducible go binaries if used =
as a compiler for cgo.
> As a test, I compiled the same binary on the same commit on two different=
systems (Ubuntu, Fedora) and in two different paths at different times.
>
> The binaries are not reproducible. At least some differences seem to be c=
oming from bazel-zig-cc:
>
> The paths to pthread.h and signal.h on my build system are embedded in th=
e resulting binary. See below for an instance of this behavior.
> Do you think this can be prevented to make the resulting binary more herm=
etic / reproducible?
Hi Malte,
Thanks for the report. I am 99% confident the problem is with Go,
because Go compiles CGo files 2 ways:
1. in the Bazel sandbox.
2. in /tmp/work-<...>, outside the sandbox.
> - [15809be] /root/.cache/bazel/_bazel_root/378578e4f433132b2cb209458a9=
b56bc/sandbox/processwrapper-sandbox/44/execroot/__main__/external/zig_sdk/=
tools/x86_64-linux-gnu.2.34/../../lib/libc/include/generic-glibc/pthread.h
When we invoke "zig c++", the ZIG_LIB_DIR needs to be passed to Zig.
It needs to be a relative directory, but it can't always do that. This
is how it's determined:
https://git.sr.ht/~motiejus/bazel-zig-cc/tree/v1.0.1/item/toolchain/launche=
r.zig#L190-215
Here are the relevant lines with comments. First, determine the "root"
of the zig sdk:
const root =3D blk: {
var dir =3D cwd.openDir(
"external" ++ sep ++ "zig_sdk" ++ sep ++ "lib",
.{ .access_sub_paths =3D false, .no_follow =3D true },
);
if (dir) |*dir_exists| {
dir_exists.close();
break :blk "external" ++ sep ++ "zig_sdk";
} else |_| {}
If "external/zig_sdk/lib" exists, then "root" is exactly that. If it
does not exist:
// directory does not exist or there was an error opening it
const here =3D fs.path.dirname(arg0) orelse ".";
break :blk try fs.path.join(arena, &[_][]const u8{ here, "..", ".."=
});
};
... then the zig sdk root will be the full path to the executed file
(e.g. /root/.cache/bazel/_bazel_root/378578e4f433132b2cb209458a9b56bc/sandb=
ox/processwrapper-sandbox/44/execroot/__main__/external/zig_sdk/tools/x86_6=
4-linux-gnu.2.34/c++),
it's dirname, plus "../../". Then append the "lib" to that path:
const zig_lib_dir =3D try fs.path.join(arena, &[_][]const u8{ root, "li=
b" });
<...>
And then use that path for ZIG_LIB_DIR:
try env.put("ZIG_LIB_DIR", zig_lib_dir);
So following the logic ZIG_LIB_DIR in your example will be
/root/.cache/bazel/_bazel_root/378578e4f433132b2cb209458a9b56bc/sandbox/pro=
cesswrapper-sandbox/44/execroot/__main__/external/zig_sdk/tools/x86_64-linu=
x-gnu.2.34/../../
; and this is how Zig will embed that path.
Other than changing how Go builds it's CGO binaries, I don't see a
good way to work around this. At the point Go is invoking the external
linker we are already in $WORK, so we don't have control over that
working directory.
The horrible part is, of course, changing the working directory at the
bottom leaves of the compilation chain. The good part about this
design is that Bazel does not see non-hermeticity (at this point Bazel
lost control). So as far as Bazel is concerned, it's the same
dependency hash. The bad part, is, of course, non-reproducible
binaries.
> <...>
> Attached is the full output of diffoscope.
Thanks, TIL.
Are the paths still there if you strip the binaries (are they
stripped? hard to tell, because your diffoscope output does not
include all sections)? IIRC filenames are only present in binaries
compiled with debug info. But I am not sure if `strip` removes strings
from rodata. Please let us know.
Motiejus
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=edgelesscompute.onmicrosoft.com header.i=@edgelesscompute.onmicrosoft.com
Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2105.outbound.protection.outlook.com [40.107.247.105])
by mail-b.sr.ht (Postfix) with ESMTPS id 51BE711EFFA
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 8 Mar 2023 11:58:14 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
b=dn1vNkrxngqLKmX3h8dbuJ3mhZQ4k85ctNac4otz3xlB5C0giH4SsPqIBxUppD0Jy4SGTE4HyAkVYHGJXg/21A9wQvwnjegWZsxKOcdjUNYnb7RDgqQk1TVqCEc3BNGCC39gdfctq9XF2tuk8qnxSw7VGuj4XkTD2Jgp4h/GOBOrQv6qSl9z9DiPXw+I3/9GqmOnt8YnAxJ/111/4D9AL2dkJZN2WqTKdYy18qn5Gemc4IV9m93mjWk9hwPTHVwfdZzhIipsZmkbRwZGreg9lgDHlCte/IUx58MlsY3lLX2eXSmxqcT4B2hIMpFzAIwTNYGe10PIOhd7gPKpqT4GSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector9901;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=FTB0McV89iIW8bxpSgjRpV/XTRfoa4YP68Z9tGj8XTY=;
b=Bd+F6WxAxpreCUqlxCyWb/r5vVg6sLCJYR8+8oOrQUqNb05o4bL+kA70klExyBlBYYCt8m/A+x8SUTE17w19zGeMI5+FsTaSvoOhhR1SyYW7YzyA7OzQjwf32seFs7BNG8eww9/Gn+Y7jUqAv45BsXAPKC8GHBZkn6ezqHv/XARiGKGSC8mAEZlWxtBem1vE+aPLhC0pMSnlowcfTsv1GeNTLLvZhu82gqhLNd6+5n35UNeSztlwsTGgw/dl00aK6mWLJRY4gNu+jT/tot8HgQ4MuK6NI7uWT2jPC71VN9ypEFCrmWoNUpYMM/DeQ0dWwUp7ert2Z4B9r1kC2RKUaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=edgeless.systems; dmarc=pass action=none
header.from=edgeless.systems; dkim=pass header.d=edgeless.systems; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=edgelesscompute.onmicrosoft.com;
s=selector1-edgelesscompute-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=FTB0McV89iIW8bxpSgjRpV/XTRfoa4YP68Z9tGj8XTY=;
b=IK1Tuf2RXVBt3DhdmNTeQAQL8fHVmwyA97WKu3RQnFBqSlVCtGgADiVLPKnVDavC6SKJCw4Bh2/LK1xLL72nQb8MPpecjwCpZuM+wCAqZSyujrC+A6jWQ6mE/BicmD0q8DyFNj+fJgtSVMQajuOokjhjPnmHV3HUBHbBscvAo/w=
Received: from AM6PR02MB4470.eurprd02.prod.outlook.com (2603:10a6:20b:60::26)
by AM9PR02MB7363.eurprd02.prod.outlook.com (2603:10a6:20b:3e5::24) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.16; Wed, 8 Mar
2023 11:58:12 +0000
Received: from AM6PR02MB4470.eurprd02.prod.outlook.com
([fe80::77cb:f64d:66e1:45fe]) by AM6PR02MB4470.eurprd02.prod.outlook.com
([fe80::77cb:f64d:66e1:45fe%4]) with mapi id 15.20.6178.016; Wed, 8 Mar 2023
11:58:12 +0000
From: Malte Poll <mp@edgeless.systems>
To: "~motiejus/bazel-zig-cc@lists.sr.ht" <~motiejus/bazel-zig-cc@lists.sr.ht>
CC: =?Windows-1252?Q?Motiejus_Jak=9Atys?= <motiejus@jakstys.lt>
Subject: Re: bazel-zig-cc embeds bazel cache path in go binary
Thread-Topic: bazel-zig-cc embeds bazel cache path in go binary
Thread-Index: AQHZUbVBY9IsLRvgFEeHbjMThTnaAg==
Date: Wed, 8 Mar 2023 11:58:12 +0000
Message-ID:
<AM6PR02MB4470F24D4FF986DE7C4F78D7B5B49@AM6PR02MB4470.eurprd02.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM6PR02MB4470:EE_|AM9PR02MB7363:EE_
x-ms-office365-filtering-correlation-id: 42782796-0a89-41a9-f6c2-08db1fcc645b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
wn8TeJ9onkVDJ+qmEhpYMmOLXbHlW58go1SifJ+RmTXlnVrB2vej1Js2bGvXfvujKo7LgnbwRh+P4Zuv78XsVkmXwPBYdy0JJYMkaXYO4Xg8XV5FY92J5qdXc75dLaBSnYsrIkSIr3lQqZp7My7etM9wYkbj0sKFPussr+NxqGTXR66QSsmyCWv1uBSd2MlOYkYSU7JckywSR0SFc9IPr9mprHxMsSaAK2QVAERWj7aa3t9Kdjf+rJNKGtrDpQxdSvtEyQxlAhD5ZwONjVuHV3165okOOnxSY8T2fwu2sTSYoMrmeH7aqSO3gZYRginz3S/2TM3HSCA2oI4isTjncTmu1RPquAMRvfUpY3+J6lCF+InpmkiCBLLsGg/QZKmpHx+8WfJEEBnStPo4hj/BxyGETnBv1n/EN+IwfPXZIysyfLwYJWMLju8TudROa0H8qK88iUnexwojReQIRnSUPIL/Tb5IG6qE5tpBKAyUa1MGyYPMjR5gjwfnYWQd3rDr6VIU4r87T1z0TpxEkDCn6O/QJwhoNyo3FR7DgJN0fMQnB7po80E5JW0DGm31OIL0siRJfm5OHYeocmTAE2Nz6xaW0sXV/XyxRlzmk6ciL16r8tJTfbKtsiWpkntV0inMuYa2Mu0whxmtGAcAFGQqR4rORb6Ot5Do65C88wggNqKxVhwc//sz3IKvukrG9QO1faM15mGt5NSiiXV3Ooq5+g==
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR02MB4470.eurprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(136003)(376002)(396003)(39840400004)(366004)(451199018)(8936002)(52536014)(2906002)(5660300002)(41300700001)(66946007)(91956017)(66446008)(64756008)(66476007)(4744005)(66556008)(4326008)(76116006)(8676002)(316002)(478600001)(71200400001)(7696005)(26005)(33656002)(6506007)(86362001)(122000001)(38070700005)(55016003)(38100700002)(186003)(9686003)(46492015);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?Windows-1252?Q?tkJnzjjJ1ljVqHPhJ5hWd4Nown0M/JEHAcVfcEMe//K0p4nkhvnVk0Ez?=
=?Windows-1252?Q?lycKWnjlHmam/U0XS8QJb0BZKlItrjCE5GLX+q8Y+7rViBl6MNxYB4L8?=
=?Windows-1252?Q?xE+YMbN/L2zHFFHr8P6DKmo4fY1lp7yJLm47L38iPVbtrIDx8TxOJDTB?=
=?Windows-1252?Q?t4hleSa8DtASEHDzFiwWeVcQDYKCg3x2bipg4doY+PxxzWZxut24HXaq?=
=?Windows-1252?Q?dL7s8KG9PT6Ypvu+YlRpsUkVdRpcporpqjAKuyY/oqPMpvwvu7JSHLcy?=
=?Windows-1252?Q?v+o/hLP96m7g7lJmsCg52qPiP4sMGDx6d76dMmQmnIyl+ePuyO9muI+s?=
=?Windows-1252?Q?gm/otyGemrHYNPTl+LJzOyFvc1bngotgX0FC5QEssbcl9GfO8/2Gr3Fs?=
=?Windows-1252?Q?EFMCXZafQYlbaHs8sDprUlyuXQiR/wznKXci3/j0x100rJI0cC+Qf2ju?=
=?Windows-1252?Q?ZICwci91UhGgDu00eEvH0HZksoZm9mZ0xdd+v58E/gQ/d9+KLvO9rwvF?=
=?Windows-1252?Q?vPJFeGv5xJkq+dDHtmLFacd0fU062qqn22Dws7RPtsvZ1/c4QjUcUblP?=
=?Windows-1252?Q?zUU84/VTo4jWfbfRY1Lmoo7ufCRcRO9smitJW8Zgx5Id9Vg4odpKL5vC?=
=?Windows-1252?Q?rxAsl8z67XAnJqFvWL+Hw6M3rZETJHPgJFTGvCNF4EkYabBsvZH2937s?=
=?Windows-1252?Q?fUWWfdZPTQpLZJviJjovQL/DCxd+cb5dTvvY6zXCZmyIwzM+JcjbMj6+?=
=?Windows-1252?Q?L2Bqb2+e3e/sHRVhmRxSf4DZ9k8dBrGBC52OLKRt4XWhYgUP9A2ZqF9n?=
=?Windows-1252?Q?nhcWTRExH4gQgWBNZPp94k+UqMGZY3FOQcRraxlkQB6J8IHcPpYcjfW+?=
=?Windows-1252?Q?QiNz8ZV3K9U5AWmJaBvQerNuCixFzYHie6A1I9tInrOsVZ0LYGJRvAt7?=
=?Windows-1252?Q?dV7AgafvbECVIkUNDx2jwuRp7fVQGN/uKT9m8ePyEjjxQOI51fY/ObH9?=
=?Windows-1252?Q?GHbo2ovnscMwY6/l2U083gPSoJeuJ3MTcYFqORWKUxZG2CJJ0HVOabkd?=
=?Windows-1252?Q?CdsUkszP65uN+qEwgwqfaIRC8/jgyFOonRmZelc1HdDIxoleOtdE7AAD?=
=?Windows-1252?Q?kZZ0Ctv5Yy3AZ4Y60vxl0KFHo3RugXYrbwRXJzLJ48szgVwI6fZAq45L?=
=?Windows-1252?Q?tXSbVMB9VQ/3GnH9ITqr3l/wrGwfV+fpPNYyuW+QZk/hMN7bglumPW0p?=
=?Windows-1252?Q?blDYwTIq8J4D4z28Mf6qf7EccdxqR6iCs/QGlz0KcUDB+wbCYM6PB89o?=
=?Windows-1252?Q?J3nfRIbQwE8tVVyoGxPaarAURilqOIFQ+GC9V9+U2Rti4oprtdnmOzhy?=
=?Windows-1252?Q?BgnEdIBLtBiPgK65ZwonNGZI8PXCCDBo4JHA6rKbDni9mbuHDRXc1csa?=
=?Windows-1252?Q?QRzPUh4YIhyvp+1GgSJVMeR+IGX9xQJHajagnNJRPeWvaUz/KKbDA6s7?=
=?Windows-1252?Q?vjuqpKKNw054rGFR0zyaLDcsHQIyxTi0u//7as99SepWyD1RtfwSDEwY?=
=?Windows-1252?Q?4eu8VzYsyd6AmCo7cNXhdHRiaaHAvnxhUqAqffzCp514fca/SwDzEg5D?=
=?Windows-1252?Q?9/0IqQ2X/7h5KGy5fYXL+XmvAmKMxk89QyPNIwQOqYoFC4I8adWb6TSm?=
=?Windows-1252?Q?0KswpxH9yNaAG5pjU6lLoC3taVC6NN6K?=
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: edgeless.systems
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM6PR02MB4470.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42782796-0a89-41a9-f6c2-08db1fcc645b
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Mar 2023 11:58:12.0438
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: adb650a8-5da3-4b15-b4b0-3daf65ff7626
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: WWcc5krjd8xdDSjmWaccPMK6mgycI8hoJtxPSxhDr8akuwiHmfFlfMbVPmAeQA10RMhR5pdnz8sUUSe3Dc0l2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR02MB7363
So, I chased this issue a bit more.=0A=
Simply setting the bazel flag "--strip=3Dalways" does not seem to be suffic=
ient. However, when I set "--compilation_mode=3Dopt", the strings disappear=
.=0A=
I'll report findings if I get to the bottom of this, although I agree that =
this may not be something that can be fixed in the toolchain. For now I can=
live with the compilation mode.=0A=
=0A=
Thanks=0A=
Malte=
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oa1-f46.google.com (mail-oa1-f46.google.com [209.85.160.46])
by mail-b.sr.ht (Postfix) with ESMTPS id 3713C11EE9A
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 8 Mar 2023 14:48:09 +0000 (UTC)
Received: by mail-oa1-f46.google.com with SMTP id 586e51a60fabf-176d93cd0daso9539079fac.4
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 08 Mar 2023 06:48:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112; t=1678286888;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=DhjDsVkeKQk4ZG7T5UslDsT6s5FG5S2M6pwLM363sAc=;
b=ZQ5d9hRJGtlDMqK5OD0g+3B13ZNDn5tE8LKcOeipsQ3/k2wxoKUnrYVlCSy7NwdMtI
cyoaiNLHDlV3uzgiE/nbJcRH1ugKAZqYumBk6JaGBKOIqIo/sNJcwqdMVXdUEunC5uCj
FGr/gQzlailxXF4jJcmPtH5Jl4glMmgsLhhUIbaGX863f73MNfbx1YObNBRk47/B8iS2
da+jAYqOQC7HyUBr/V+TZhZ0oywD395cF+y6WbYPdcC45OovbpJpcUKOv1qFIUPuFGB/
8j4o2qIg9uSDCZYRM/nX4izMi8ypBGhGgmV/2Gh4ALpOrln9Nr9sv6EGwzwHgugZQltO
/CwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112; t=1678286888;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=DhjDsVkeKQk4ZG7T5UslDsT6s5FG5S2M6pwLM363sAc=;
b=M4uNnGTK+t8gP/VMhcYUewNc5Uo5pdBdabPf6WEK5Ji/5lMYX6ZB8RPNLqjp/mVwq1
HLk8eMAUJbjFHeknhxZMN/e5CvTBwH1NPFcapmO2NhVdHIFvTUhISanjKtzzuQ8c9qUo
b+Xw16+LQUQqAfXufn7fClqRKWjMnN2aHYtagjjqvGpkdHUH9XMDY1PTX+lY222mRYPR
3QuhNeTl5du2sT+bF6emnrdwih/RXz2+Np2o2mRJ2kW7f9R0tcz/kDky4FTBpRlY3YeL
1r90AkAnhZhSEikWz86erSN/58UeWww5R69prNIwjtGsSbkc2+KFvLEsyiMAEz+J1Tpr
F2JQ==
X-Gm-Message-State: AO0yUKVVjakCP7P6RAxA9qPGAMKZyRkzLcIuX5SbI7vQ15NN0gS0xCWm
eXsVWTRiKXyl0/8TDHzJdhmWuPGnJonsEqMDQZgEInuc9zo=
X-Google-Smtp-Source: AK7set9ZWeusYtrapGacWyHHf/cYyi7B/faKa6QLg60lBmSNn0teFqDU2PatA8wehgBWDl3OoyHO7XLTtYOYI4tYjp8=
X-Received: by 2002:a05:6871:6bb0:b0:16e:3585:dbca with SMTP id
zh48-20020a0568716bb000b0016e3585dbcamr4945991oab.6.1678286888455; Wed, 08
Mar 2023 06:48:08 -0800 (PST)
MIME-Version: 1.0
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Wed, 8 Mar 2023 16:47:57 +0200
Message-ID: <CAFVMu-qcAQPHhPb63GWZMTL6E_9ZLTtw4tGcYMQFogXLaDhnAg@mail.gmail.com>
Subject: bazel-zig-cc moved to github.com/uber
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Hi folks,
The transfer of bazel-zig-cc from my personal SourceHut account to
github is now complete: https://github.com/uber/bazel-zig-cc
Main changes:
- This will now be Uber's project, not mine. The child has grown and
left the house. :)
- CLA will be required from now on. However, pre-move copyright owners
retain their copyright of course; we did not ask to transfer it
(albeit I transferred mine to Uber for personal reasons).
- Comms are now in bazel's slack (bazel.slack.com) #zig and github issues/PRs.
Short-term a.k.a. migration:
- I will put up a release in github in the next couple of days and
communicate here; it will be my last message in the mailing list.
- This mailing list will be shut down "in a couple of weeks".
- Your links (i.e. where you download bazel-zig-cc from) will keep
working at least until 2023-06-01. After this date everyone will need
to change it to github or your own mirror (the exact details will be
announced, like said, in a couple of days).
As for why? In case you haven't noticed the comms yet, bazel-zig-cc is
now powering Uber's Go Monorepo. So it no longer fits the "personal
project" bill and it made sense to be moved. Also, but my days at Uber
are numbered[1], so it makes even more sense for Uber to increase the
bus factor. I still recommend Uber as a great place to work if you
like such things (I spend quite a bit of time with Zig during my
working hours, which is great) -- but it just does not fit the bill
for my personal circumstances.
Congratulations everyone and have fun!
Motiejus
[1]: https://jakstys.lt/2023/7-years-at-uber/
From MAILER-DAEMON Mon Apr 24 14:05:40 2023
Authentication-Results: mail-b.sr.ht; dkim=pass header.d=jakstys-lt.20210112.gappssmtp.com header.i=@jakstys-lt.20210112.gappssmtp.com
Received: from mail-oo1-f53.google.com (mail-oo1-f53.google.com [209.85.161.53])
by mail-b.sr.ht (Postfix) with ESMTPS id A706E11EE9A
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 8 Mar 2023 14:52:26 +0000 (UTC)
Received: by mail-oo1-f53.google.com with SMTP id e12-20020a4ae0cc000000b00525034ca5e9so2585475oot.0
for <~motiejus/bazel-zig-cc@lists.sr.ht>; Wed, 08 Mar 2023 06:52:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=jakstys-lt.20210112.gappssmtp.com; s=20210112; t=1678287146;
h=content-transfer-encoding:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=DuLtdDcFYDQ7lbA+7GB0qponUC7abuDunJlp6uuTWXk=;
b=Vsl6TWFfXItvtFyka0wSyw8JD5j07DkzfIzcYbCNHfpCe2o5MK8PESo3uDPLVzuRTy
4Pv/2QXtsLXUkeTwvsTp1WWdGFHCHlcIDUDPpwh8lrrJCLVr3sAHBl3NFeva8Vy0FLQZ
IHRKYrWgplYmB5aqjVNOiiIhTdzeKZ19UBpABu0v2teCjEJIAMP1uZ80jkhBEVjtV6GD
eJAXE1muJEJGR7idVx6gd8T9VloPzb7/Xmj/FxSYSdjfw3WxSiyiR03b11FTT2U/CHme
N5r6yd+6A1iUD34aIyz2++F1YT3hHb1aBAY2MVOqwPooIWfRikhNbhDkEG8rEn69++VQ
bGZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112; t=1678287146;
h=content-transfer-encoding:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=DuLtdDcFYDQ7lbA+7GB0qponUC7abuDunJlp6uuTWXk=;
b=yzP2BoxEULddD9ze6ydo1XAL0xfrjJx8G9CmuQD+i7ckUPW3kD8Ok9VZEfT6BrwW0w
HJCYlflp7hyOzTTJBkSh5/TZ2p/PtzskW2EGpQTW8p2VnqFl0CqyyT+VAyfEUaUNso//
f5uubOK9Zb/xHuJQyDX0P3w8cUFBAxTtFsnJLlqP6BNi5G3P0e1P2OQxq0lw8R6b3a4x
85ix4eZ7OfXX/Bcn/CDn9WAKNbpckvtqVQtQROh4km8ArMZYJF4vVOOUat1OINK/II0x
dmc1E/qmKDMUsgQ1NxkEPqoyiDtGqBdHsHtKiPuyD9FulnIyyBzqTOMKNRIayk5ly7ZV
JoXA==
X-Gm-Message-State: AO0yUKWTXv/Cew+MjQ91Is4SJYHlwc1VtYMZijYQ6PVutFoeYYo2+HRm
rh64qRMMSNxt+9Kuc5VADgPAsUPZxVPoKwxV3nPFxqGIW+k=
X-Google-Smtp-Source: AK7set+twmHQgaJBgRG5Xxi2G1POhWIja5dzZH+MLtIqW21ZKCuRzkieqHynklYdrJOnhR4/gYUjZXELAMUR+j1tYOw=
X-Received: by 2002:a05:6820:1048:b0:525:39e1:9492 with SMTP id
x8-20020a056820104800b0052539e19492mr6384525oot.0.1678287145988; Wed, 08 Mar
2023 06:52:25 -0800 (PST)
MIME-Version: 1.0
References: <CAFVMu-qcAQPHhPb63GWZMTL6E_9ZLTtw4tGcYMQFogXLaDhnAg@mail.gmail.com>
In-Reply-To: <CAFVMu-qcAQPHhPb63GWZMTL6E_9ZLTtw4tGcYMQFogXLaDhnAg@mail.gmail.com>
From: =?UTF-8?Q?Motiejus_Jak=C5=A1tys?= <motiejus@jakstys.lt>
Date: Wed, 8 Mar 2023 16:52:15 +0200
Message-ID: <CAFVMu-q=AE_oTBhzy+rwSK-r6reYsxEyYPJbQys=PK9WHuFk1g@mail.gmail.com>
Subject: Re: bazel-zig-cc moved to github.com/uber
To: ~motiejus/bazel-zig-cc@lists.sr.ht
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Wed, Mar 8, 2023 at 4:47=E2=80=AFPM Motiejus Jak=C5=A1tys <motiejus@jaks=
tys.lt> wrote:
> but it just does not fit the bill for my personal circumstances.
I should have made this clearer! I will be co-maintaining bazel-zig-cc
at least until 2023-06-30. Now that we have finished the move, we have
additional 2 awesome maintainers now: @linzhp[1] and @sywhang[2]. They
are from Uber's Go Monorepo/Platform teams, and have dealt with much
more Go, Bazel and Starlark than myself.
[1]: https://github.com/linzhp
[2]: https://github.com/sywhang