[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [patch] combined build
From: |
Dan Nicolaescu |
Subject: |
Re: [patch] combined build |
Date: |
Thu, 15 Nov 2007 08:28:33 -0800 |
Dmitry Antipov <address@hidden> writes:
> This patch provides a minimal support for compiling (the most of) emacs C
code at once using
> -combine option supported by never versions of GCC. Since an almost
everything is compiled
> each time when the compiler is invoked, this mode is not suitable for
developers. But it might
> be useful for package builders and other peoples who just wants to do
'./configure && make &&
> make install' sequence. This feature also gives GCC a chance to optimize
something during
> inter-module analysis.
>
> Notes:
>
> 1. Compiling with -combine implies quite strict function declarations vs.
definitions checking,
> so C code is touched in some places. In particular, current 'fatal'
implementation bombs
> out combining compilation, and I've redone it with va_args. This might
be non-portable or
> may break some ancient compiler.
I went through exactly this exercise 2 years ago, trying to fix all the
combine problems in the tree at that time. I had to undo a similar
"fatal" change for these concerns.
Now is a good time to reconsider, IMHO we should not support building
without varargs.
Please note that to get the full benefit of interprocedural optimization
you'd also need -fwhole-program, and that implies that the files in
lwlib should be added to the temacs compile line.
> 2. For me, it doesn't work when using GTK toolkit. When using both GTK and
-combine, I've got
> the following nasty error messages:
>
> In file included from /usr/include/gtk-2.0/gtk/gtk.h:74,
> from xterm.h:46,
> from fns.c:53:
> /usr/include/gtk-2.0/gtk/gtkcurve.h:104: error: conflicting types for
'gtk_curve_get_vector'
> /usr/include/gtk-2.0/gtk/gtkcurve.h:104: error: previous declaration of
'gtk_curve_get_vector' was here
> /usr/include/gtk-2.0/gtk/gtkcurve.h:106: error: conflicting types for
'gtk_curve_set_vector'
> /usr/include/gtk-2.0/gtk/gtkcurve.h:106: error: previous declaration of
'gtk_curve_set_vector' was here
>
> I suspect this is a bug in GCC. So I've installed an additional check in
configure.in
> to avoid using both GTK and -combine simultaneously.
What version of Gtk is this?
If you are certain this is a gcc bug, please report it.
- [patch] combined build, Dmitry Antipov, 2007/11/15
- Re: [patch] combined build,
Dan Nicolaescu <=
- Re: [patch] combined build, Stefan Monnier, 2007/11/15
- Re: [patch] combined build, Dan Nicolaescu, 2007/11/15
- Re: [patch] combined build, Richard Stallman, 2007/11/15
- Re: [patch] combined build, Dmitry Antipov, 2007/11/16
- Re: [patch] combined build, : Dan Nicolaescu, 2007/11/16
- Message not available
- Re: [patch] combined build, Richard Stallman, 2007/11/17
- Re: [patch] combined build, Eli Zaretskii, 2007/11/16