diff mbox

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

Message ID 20100929203834.GE25571@gmx.de
State New
Headers show

Commit Message

Ralf Wildenhues Sept. 29, 2010, 8:38 p.m. UTC
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.

Comments

Paolo Bonzini Sept. 30, 2010, 10:31 a.m. UTC | #1
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. UTC | #2
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. UTC | #3
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
diff mbox

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; };