Patchwork [build] info-gcc, dvi-gcc etc work from unbuilt configured tree.

login
register
mail settings
Submitter Ralf Wildenhues
Date Sept. 29, 2010, 8:38 p.m.
Message ID <20100929203834.GE25571@gmx.de>
Download mbox | patch
Permalink /patch/66096/
State New
Headers show

Comments

Ralf Wildenhues - Sept. 29, 2010, 8:38 p.m.
This patch allows
  ../gcc/configure [OPTIONS]
  make info-gcc dvi-gcc pdf-gcc html-gcc

to work without prior 'make'.

Tried with and without --disable-bootstrap.  OK for trunk?

With this, toplevel targets info, dvi, pdf, and html also work if
bootstrap is disabled.  Haven't looked into why bootstrap enabled
fails yet.

Thanks,
Ralf

build: info-gcc, dvi-gcc etc work from unbuilt configured tree.

ChangeLog:
2010-09-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR bootstrap/45796
	* Makefile.def (info-gcc, dvi-gcc, pdf-gcc, html-gcc):
	Depend on all-build-libiberty.
	* Makefile.in: Regenerate.
Paolo Bonzini - Sept. 30, 2010, 10:31 a.m.
On 09/29/2010 10:38 PM, Ralf Wildenhues wrote:
> diff --git a/Makefile.def b/Makefile.def
> index ccc23f6..29cd1a3 100644
> --- a/Makefile.def
> +++ b/Makefile.def
> @@ -341,6 +341,10 @@ dependencies = { module=all-gcc; on=all-libcpp; hard=true; };
>   dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; };
>   dependencies = { module=all-gcc; on=all-libiberty; };
>   dependencies = { module=all-gcc; on=all-fixincludes; };
> +dependencies = { module=info-gcc; on=all-build-libiberty; };
> +dependencies = { module=dvi-gcc; on=all-build-libiberty; };
> +dependencies = { module=pdf-gcc; on=all-build-libiberty; };
> +dependencies = { module=html-gcc; on=all-build-libiberty; };

Should this be "hard=true"?  Ok with or without this change.

Thanks,

Paolo
Ralf Wildenhues - Sept. 30, 2010, 7:20 p.m.
Hi Paolo,

* Paolo Bonzini wrote on Thu, Sep 30, 2010 at 12:31:08PM CEST:
> On 09/29/2010 10:38 PM, Ralf Wildenhues wrote:
> >diff --git a/Makefile.def b/Makefile.def
> >index ccc23f6..29cd1a3 100644
> >--- a/Makefile.def
> >+++ b/Makefile.def
> >@@ -341,6 +341,10 @@ dependencies = { module=all-gcc; on=all-libcpp; hard=true; };
> >  dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; };
> >  dependencies = { module=all-gcc; on=all-libiberty; };
> >  dependencies = { module=all-gcc; on=all-fixincludes; };
> >+dependencies = { module=info-gcc; on=all-build-libiberty; };
> >+dependencies = { module=dvi-gcc; on=all-build-libiberty; };
> >+dependencies = { module=pdf-gcc; on=all-build-libiberty; };
> >+dependencies = { module=html-gcc; on=all-build-libiberty; };
> 
> Should this be "hard=true"?

No, because the actual dependency may be on the libiberty not prefixed
with 'build-'.  At least that's what I've seen in some configurations.
Would that be wrong?

Anyway AFAICS the configure machinery will take care to let the
appropriate libiberty instance be built by default, which means that
hard=true is not needed.

> Ok with or without this change.

Thanks for your reviews!  Committed as shown.

Cheers,
Ralf
Paolo Bonzini - Oct. 1, 2010, 7:27 a.m.
On Thu, Sep 30, 2010 at 21:20, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> wrote:
> No, because the actual dependency may be on the libiberty not prefixed
> with 'build-'.  At least that's what I've seen in some configurations.
> Would that be wrong?

Weird for sure... Without analyzing it I can't say if it would be also wrong.

Paolo

Patch

diff --git a/Makefile.def b/Makefile.def
index ccc23f6..29cd1a3 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -341,6 +341,10 @@  dependencies = { module=all-gcc; on=all-libcpp; hard=true; };
 dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; };
 dependencies = { module=all-gcc; on=all-libiberty; };
 dependencies = { module=all-gcc; on=all-fixincludes; };
+dependencies = { module=info-gcc; on=all-build-libiberty; };
+dependencies = { module=dvi-gcc; on=all-build-libiberty; };
+dependencies = { module=pdf-gcc; on=all-build-libiberty; };
+dependencies = { module=html-gcc; on=all-build-libiberty; };
 dependencies = { module=install-gcc ; on=install-fixincludes; };
 
 dependencies = { module=configure-libcpp; on=configure-libiberty; hard=true; };