From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Maxime Devos Newsgroups: gmane.lisp.guile.user Subject: Re: Newbie thoughts on Guile Hall + Guix Date: Sun, 06 Feb 2022 23:32:45 +0100 Message-ID: <2b524db8e0d851b4cb4519d9c82dca1585ade66f.camel@telenet.be> References: <87iltt846s.fsf@dustycloud.org> <87k0e8t0kr.fsf@laura> <2a3bc56f383806aa28d969ddc092256a9e922579.camel@telenet.be> <87a6f37isj.fsf@laura> Mime-Version: 1.0 Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-nJuFwbwhSiPYwdG7fJ5T" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22891"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Evolution 3.38.3-1 To: Olivier Dion , Christine Lemmer-Webber , guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sun Feb 06 23:34:16 2022 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nGq6q-0005il-60 for guile-user@m.gmane-mx.org; Sun, 06 Feb 2022 23:34:16 +0100 Original-Received: from localhost ([::1]:49964 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nGq6p-0007hU-4N for guile-user@m.gmane-mx.org; Sun, 06 Feb 2022 17:34:15 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:36500) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGq5c-0006x8-B4 for guile-user@gnu.org; Sun, 06 Feb 2022 17:33:01 -0500 Original-Received: from [2a02:1800:110:4::f00:19] (port=40080 helo=laurent.telenet-ops.be) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nGq5Y-0005DM-Np for guile-user@gnu.org; Sun, 06 Feb 2022 17:32:58 -0500 Original-Received: from [172.20.10.5] ([188.188.37.53]) by laurent.telenet-ops.be with bizsmtp id ryYs2600418o4tG01yYsSb; Sun, 06 Feb 2022 23:32:53 +0100 In-Reply-To: <87a6f37isj.fsf@laura> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1644186773; bh=R3WI3ADbvw4zZF3Gjsg/8FifTREfPDsv7drBbNA4JEc=; h=Subject:From:To:Date:In-Reply-To:References; b=EMazLDE2yQLCt2dXahPEM3NvDqyNsoJm6VVmC8f6clPbK3lIl2ihE0eJStk4U/oAL qMFr3Snox2yW19lpCDTK56YmS8G/APnughdlEttTKbN3CpFP8JiJ9EsGaX0F20DqSc 7844F06oL+oNsbWRI+s6fAFcPCbc1YvTGZ0l3pVLj8MCz5cof7lo+o9QM7wUKrIxQE gJ4muU3M1XJB6LlW/+m+NLawu7Hngpv81UEAjpMc7nKyY6HRdLHYqFMNMdBWDm42b0 P19Bv2d/BRX1D/dN9gSDaansVERGjkkAWwItmTVAPuWOMZWYcpNi+ZuA9mqw04Ier0 0tiA8MQ7iP8jg== X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a02:1800:110:4::f00:19 (failed) Received-SPF: pass client-ip=2a02:1800:110:4::f00:19; envelope-from=maximedevos@telenet.be; helo=laurent.telenet-ops.be X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:18021 Archived-At: --=-nJuFwbwhSiPYwdG7fJ5T Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Olivier Dion schreef op zo 06-02-2022 om 17:05 [-0500]: > > Is it restricted to Makefiles, or can it also be used without > > generating Makefiles?=C2=A0 If not, things like progress bars should be > > easy > > to implement and file names containing spaces or =E2=80=98special > > characters=E2=80=99 > > can be used without any problems. >=20 > Since it's glued to my project, and since I'm very familiar with > Makefiles, it only support Makefiles for now.=C2=A0 What would be the > other > targets you have in mind? I was thinking of something like $ cd ~/the-source-code # (I haven't looked much yet, possibly the CLI needs to be very different) $ cbuild make --target=3Daarch64-linux-gnu --prefix=3D/foo/bar $ cbuild install --staged-install=3D/blah Basically, don't delegate to 'make' or 'ninja' or whatever, just build it. That's way less portable than 'make' of course, but people that don't have 'cbuild' or don't want to learn 'cbuild' can still use the Makefile. Seems like I'll have to make some changes to support cross-compilation (basically, pass --target=3Daarch64-linux-gnu or the like to "guild compile", and search for TARGET-gcc/clang instead of gcc/clang) but otherwise looks mostly ok. I noted that you are using #nil in some places. #nil (an amalgation of #false and the empty list ()) is mostly an implementation detail for Emacs Lisp support, and not something that needs to be used in pure Guile. I would use '() instead; it's also more portable to other Schemes. There's also some potential reproducibility problems: in https://gitlab.com/oldiob/cbuild/-/blob/master/config.scm#L19, D1CACHE_LINE_SIZE is set based on the cache size where it was compiled, instead of the cache size where it is supposed to run on. For now, I'll keep using the Autotools-based system (if it works, don't break it :p, also doing other things at the moment than tweaking build systems), but I'll keep cbuild in mind for the future. Greetings, Maxime. --=-nJuFwbwhSiPYwdG7fJ5T Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYgBMjRccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7sLfAP9b/CE1dvYWRc+YaJeH8bNMLA+7 zimZHOOqFH/yY5dVpgD/QA0Yjl/XrVWpJMwyoB9oRZokV0RcwWk2kQBulxP8Agw= =DG73 -----END PGP SIGNATURE----- --=-nJuFwbwhSiPYwdG7fJ5T--