tech-pkg archive

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

Re: building devel/bmake on case-insensitive filesystems



Brook Milligan <brook%nmsu.edu@localhost> wrote:
> > I haven't ever used devel/bmake but surely it builds in a separate work
> > dir ?
> 
> Yes, it does.  Everything is built in ${WRKSRC}.  But, the contents of
> ${WRKSRC} include (after configure is run) both Makefile and makefile.
> These of course collide for a case-insensitive filesystem.  That is
> the fundamental problem that needs solving.

If the src is copied to the obj dir, then it does not count as a
separate dir.

> > Makefile exists for those (like me) who just do bmake -f Makefile
> > to build next version.
> 
> This implies that 'bmake -f Makefile' and 'bmake -f makefile’ will
> accomplish the same thing, although the former uses a real Makefile
> while the latter actually runs boot-strap.  Does there really need to
> be two different ways of accomplishing the same thing?

They achieve the same result - building a bmake binary,
but not the same way.  Makefile can easily take advantage of settings
obtained from ../Makefile.inc etc.

makefile.in can work with gmake as well as bmake.

All these things exist, because bmake is used in many different
environments pkgsrc is just one of many.

> > First though how is generated makefile in the same directory as Makefile
> > when using pkgsrc ?
> 
> As described earlier, both Makefile and makefile.in are copied into
> ${WRKSRC}.  Consequently, configure creates makefile from makefile.in
> and puts it into the same directory, which overwrites Makefile on a
> case-insensitive filesystem.

This sounds like a bug in devel/bmake/Makefile

Anyway, bmake-20170812+ should render the issue moot.



Home | Main Index | Thread Index | Old Index