Re: ABI break!

2017-01-18 Thread Ludovic Courtès
John Darrington  skribis:

> On Tue, Jan 17, 2017 at 11:52:35PM +0100, Ludovic Court??s wrote:
>  l...@gnu.org (Ludovic Court??s) skribis:
>  
>  > Pushed with tests as 384344198dcaa97847e66d3dd82f279ede08d690.
>  
>  And if you get a weird error when running ???make??? about
>  ???file-system-needed-for-boot, just run:
>  
>rm gnu/system.go && make
>  
>  This is because of an ABI break: ???file-system-needed-for-boot was a
>  macro and now is a procedure.
>  
> Surely this means that the Makefile is wrong?
>
> It should recognise that gnu/system.scm has changed and rebuild gnu/system.go 
> accordingly.

gnu/system.scm has not changed; gnu/system/file-system.scm did.

Guile modules are composed at run time for the most part, so when you
change one, you don’t have to rebuild those that use it.

However, you do have to recompile them if they rely on it for macros and
those macros have changed or are no longer macros.

This is what happened here.

Ludo’.



Re: ABI break!

2017-01-18 Thread David Craven
> Surely this means that the Makefile is wrong?

I think that in projects that use Makefiles it's the expectation that
incremental compilation only works in "most" cases.

I really like ninja - I think it is un-opinionated and has solid
fundamentals. I think that a cool project would be to write a ninja build
file generator in guile.


Re: ABI break!

2017-01-17 Thread John Darrington
On Tue, Jan 17, 2017 at 11:52:35PM +0100, Ludovic Court??s wrote:
 l...@gnu.org (Ludovic Court??s) skribis:
 
 > Pushed with tests as 384344198dcaa97847e66d3dd82f279ede08d690.
 
 And if you get a weird error when running ???make??? about
 ???file-system-needed-for-boot, just run:
 
   rm gnu/system.go && make
 
 This is because of an ABI break: ???file-system-needed-for-boot was a
 macro and now is a procedure.
 
Surely this means that the Makefile is wrong?

It should recognise that gnu/system.scm has changed and rebuild gnu/system.go 
accordingly.

J'



-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


ABI break!

2017-01-17 Thread Ludovic Courtès
l...@gnu.org (Ludovic Courtès) skribis:

> Pushed with tests as 384344198dcaa97847e66d3dd82f279ede08d690.

And if you get a weird error when running ‘make’ about
‘file-system-needed-for-boot?’, just run:

  rm gnu/system.go && make

This is because of an ABI break: ‘file-system-needed-for-boot?’ was a
macro and now is a procedure.

Ludo’.