[PATCH 1/7] newlib: move AC_NO_EXECUTABLES logic up to common code
Mike Frysinger
vapier@gentoo.org
Thu Feb 10 04:25:43 GMT 2022
On 09 Feb 2022 19:42, Jon Turney wrote:
> On 05/02/2022 07:34, Mike Frysinger wrote:
> > This logic was added to libc & libm to get it working again after some
> > reworks in the CPP handling, but now that that's settled, let's move
> > this to the common newlib configure logic. This will make it easier
> > to consolidate all the configure calls into the top-level newlib dir.
> >
> > This does create a lot of noise in the generate scripts, but that's
> > because of the ordering of the calls, not because of correctness. We
> > will try to draw that back down in follow up commits as we modernize
> > the toolchain calls in here.
>
> Somehow, this change seems to prevent a self-hosted cygwin build from
> working.
>
> See e.g. https://github.com/cygwin/cygwin/runs/5118411294
>
> Comparing this with the previous successful run, it looks like:
>
> Because doc/makedoc appears in noinst_DATA, which the target all depends
> on, it tries to make the target doc/makedoc (without EXEEXT_FOR_BUILD
> appended), which uses a one step built-in(?) compiler rule, and fails as
> the directory $builddir/doc/ doesn't exist yet.
>
> Note that 'make info' still works, as this properly depends on $(MKDOC).
>
> So maybe something like this is needed? But I have no idea what this
> change did to stop it working as before...
>
> > --- a/newlib/doc/local.mk
> > +++ b/newlib/doc/local.mk
> > @@ -1,8 +1,8 @@
> > -# We can't use noinst_PROGRAMS, because automake will add $(EXEEXT).
> > -noinst_DATA += doc/makedoc
> > -
> > MKDOC = doc/makedoc$(EXEEXT_FOR_BUILD)
> >
> > +# We can't use noinst_PROGRAMS, because automake will add $(EXEEXT).
> > +noinst_DATA += $(MKDOC)
> > +
> > # We don't use CFLAGS with CC_FOR_BUILD because here CFLAGS will
> > # actually be CFLAGS_FOR_TARGET, and in some cases that will include
> > # -Os, which CC_FOR_BUILD may not recognize.
i don't have an answer off the top of my head as to why it was working but
now is not, but if we focus on the failures, i think we have bugs regardless
here that should be fixed.
first your change here looks correct. but i don't think it suffices. we
also need the actual .def files to depend on the tool since they need it to
exist. i'll push a fix shortly.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/newlib/attachments/20220209/c2c837f2/attachment.sig>
More information about the Newlib
mailing list