Mercury-Language / mercury

The Mercury logic programming system.
Other
904 stars 54 forks source link

'make install' rebuilds the project again even though it was already built with 'make build' #126

Open yurivict opened 1 year ago

yurivict commented 1 year ago

Version: 22.01.7 FreeBSD 13.2

juliensf commented 1 year ago

The way Mercury is built and installed is a little unusual. The make step builds the compiler and related tools. The make install step does two things:

  1. It install the compiler and related tools.
  2. It compiles and install the Mercury call libraries in multiple different grades. (A grade is a set of compilation model options, such as the target language or an optional feature like debugging or profiling support.)

I suspect that where you say it is rebuilding the project again, it is in fact just doing step (2) above.

yurivict commented 1 year ago

I suspect that where you say it is rebuilding the project again, it is in fact just doing step (2) above.

I think so, but it takes a very long time.

This is very inconvenient in the context of a port. It is usually assumed that it is easy to reinstall the package, but it isn't easy for mercury.