guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Newbie thoughts on Guile Hall + Guix


From: Maxime Devos
Subject: Re: Newbie thoughts on Guile Hall + Guix
Date: Sun, 06 Feb 2022 23:32:45 +0100
User-agent: Evolution 3.38.3-1

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?  If not, things like progress bars should be
> > easy
> > to implement and file names containing spaces or ‘special
> > characters’
> > can be used without any problems.
> 
> Since it's glued to my project, and since I'm very familiar with
> Makefiles, it only support Makefiles for now.  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=aarch64-linux-gnu --prefix=/foo/bar
$ cbuild install --staged-install=/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=aarch64-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.

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]