* On the toplevel configure and build system
@ 2011-03-29 21:52 Joseph S. Myers
2011-03-29 22:28 ` DJ Delorie
` (4 more replies)
0 siblings, 5 replies; 17+ messages in thread
From: Joseph S. Myers @ 2011-03-29 21:52 UTC (permalink / raw)
To: gcc, binutils, gdb, newlib
Having been cleaning up the toplevel configure.ac in various ways
following removing deprecated targets for GCC 4.7, I would like to propose
some principles relating to the toplevel configure and build system.
These are intended as principles to guide future development and indicate
the directions in which this system should develop - not something I have
any immediate plans to implement most of.
1. The toplevel configure and build system exists to build the components
in the GCC and src repositories. These include GCC, binutils, GDB, newlib
and some other components such as cgen and winsup, as well as libraries
used by these components.
Additional tools for the build (not host) system may be built (not
installed) when present in the source tree, if of direct use in building
and testing the components in those repositories, and likewise additional
libraries used by build or host tools or target libraries in those
repositories may also be built. But support for tools and libraries that
do not meet that criterion should be considered obsolete and removed.
Specifically, I propose removal of all support for building: ash autoconf
automake bash byacc bzip2 diff dosutils fileutils findutils find gawk
gettext gnuserv gzip hello indent libiconv libtool make mmalloc patch perl
prms rcs release recode sed send-pr shellutils tar textutils time uudecode
wdiff zip expect guile target-gperf target-examples target-qthreads. See
<http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01674.html> and followups
regarding reasons to keep a few packages in my original list that aren't
in the list above.
Furthermore, the system is for the *current code* in those repositories.
The existence of some out-of-tree version with additional or different
target support is irrelevant; such trees should include their own local
toplevel patches as needed.
2. If you put directories from the GCC repository into your build, you
should expect GCC and its libraries to be built; toplevel should not
disable GCC on the grounds that GCC does not support a given target.
Similarly, if you put the src repository or part thereof into your build,
you should expect at least something from the src repository to be built,
so if nothing there has support for a target then toplevel should not try
to disable everything from src. However, since you may well have a
checkout with both supported and unsupported parts of src, it is useful
(for example) to disable gdb if a target has a binutils port but not a gdb
port.
If in future the src repository is split up into separate repositories for
different projects, this principle will apply in a more fine-grained way -
so if there is a "binutils+gdb" repository then toplevel should not try to
disable the whole of binutils+gdb for targets supporting none of it, only
subsets for targets supporting a nonempty subset.
3. If it is known that GCC's libraries for a given language do not build
for a given target, it is generally appropriate to disable that language
(via unsupported_languages) instead of disabling the libraries directly,
unless there is some reason the front end is considered useful without the
libraries. If it is not known, then the language and libraries should not
be disabled (subject to some languages not being built by default anyway).
Various reasons were advanced in reply to
<http://gcc.gnu.org/ml/gcc/2011-03/msg00326.html> for the default
disabling of libgcj on many targets, but I think we can reasonably
conclude that a more carefully considered set of disablings is
appropriate.
4. It would be desirable to get the information about supported
directories out of the toplevel configure.ac altogether, and into
subdirectories. Subdirectories with known code with portability issues
should provide configure fragments that can be sourced both at toplevel
and within that subdirectory, and that set variables in an appropriate
namespace that indicate the state of support for that directory. Toplevel
should then use these fragments to disable directories or GCC languages as
appropriate. For example, libffi might provide a fragment defining
libffi_target and libffi_targetdir (where libffi/configure.ac presently
defines TARGET and TARGETDIR), and toplevel would source it, and, if
libffi_targetdir ended up as "unknown", disable languages (java and go)
that use target-libffi. Since libffi is the most obvious source of
portability issues for libgcj, perhaps this could be an initial
replacement for the ${libgcj} disabling. Such things as libgloss_dir
should also come from subdirectories.
5. Similarly, it is unfortunate that a lot of knowledge about how to
configure GCC with various host libraries such as PPL is embedded in the
toplevel configure script, and it would be better for this to be in the
gcc/ subdirectory if possible. Both this and the previous principle would
reduce the frequency with which logically GCC-specific changes need
toplevel changes synced to the src repository.
6. Splitting up the src repository into multiple separate repositories
would be desirable as part of moving components away from CVS; different
projects should not be tied so closely to each other. I propose the
following as a natural division (moving anything out is complicated, with
various scripts, documentation etc. to update, but as noted here it should
be possible to move cgen and rda without any dependencies on other
projects):
(a) toplevel. Master repository for the shared toplevel files, config/,
include/, intl/, libdecnumber/, libiberty/, texinfo/. Changes merged from
here to other repositories in whatever way is convenient (depending on the
version control systems etc. for each repository).
(b) binutils+gdb. Includes the cpu, etc, libgui, readline and sim
subdirectories of the src repository (could consider putting libgui and
other gdbtk code only in a separate repository or branch rather than the
main binutils+gdb one). I think the parts of include/ in the src
repository that aren't shared by GCC can also go here, not in the master
toplevel repository (although a separate directory for those would be
better than the present system of having different sets of files in
include/ in different places).
(c) newlib. Includes newlib and libgloss.
(d) winsup/Cygwin. Includes the winsup directory; may need to be based on
the newlib repository.
(e) cgen. Does not appear to use libiberty or other toplevel code so need
not have any relation to the shared toplevel, and if moved out then
toplevel need no longer support it except maybe as a build tool. (Where
cgen descriptions are used to generate code in binutils, those
descriptions should go in cpu/ in the binutils+gdb repository, not
cgen/cpu/ in the cgen repository.)
(f) rda. Again, appears completely independent and toplevel support could
be removed if it moves out.
(g) sid.
(h) utils - I don't know what to do with this directory or where it best
goes.
(i) I specifically propose not moving tcl, tk or itcl to any new
repositories; they would better be removed from HEAD with the expectation
being that people use preinstalled copies (though the option of building
the libraries in-tree could be kept if necessary). It would be good to
get readline to this state as well (support building sources dropped in
but don't include a local copy).
Any comments on these principles?
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-29 21:52 On the toplevel configure and build system Joseph S. Myers
@ 2011-03-29 22:28 ` DJ Delorie
2011-03-29 23:29 ` Joseph S. Myers
2011-03-29 23:41 ` Frank Ch. Eigler
2011-03-29 22:50 ` Geoffrey Keating
` (3 subsequent siblings)
4 siblings, 2 replies; 17+ messages in thread
From: DJ Delorie @ 2011-03-29 22:28 UTC (permalink / raw)
To: Joseph S. Myers; +Cc: gcc, binutils, gdb, newlib
> 2. If you put directories from the GCC repository into your build, you
> should expect GCC and its libraries to be built; toplevel should not
> disable GCC on the grounds that GCC does not support a given target.
I disagree. We have a single combined gcc+binutils+etc internal tree
that's used for many targets; some support gcc, some do not. I added
another "don't build gcc for this" just last week.
> If in future the src repository is split up into separate repositories for
> different projects, this principle will apply in a more fine-grained way -
I see no reason to stop people from building in a combined source tree
for multiple targets, and expecting it to work.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-29 21:52 On the toplevel configure and build system Joseph S. Myers
2011-03-29 22:28 ` DJ Delorie
@ 2011-03-29 22:50 ` Geoffrey Keating
2011-03-29 23:33 ` Ian Lance Taylor
` (2 subsequent siblings)
4 siblings, 0 replies; 17+ messages in thread
From: Geoffrey Keating @ 2011-03-29 22:50 UTC (permalink / raw)
To: Joseph S. Myers; +Cc: gcc, binutils, gdb, newlib
"Joseph S. Myers" <joseph@codesourcery.com> writes:
> 2. If you put directories from the GCC repository into your build, you
> should expect GCC and its libraries to be built; toplevel should not
> disable GCC on the grounds that GCC does not support a given target.
I'd appreciate it if creating a combined tree and building it still
worked on/for every target, even those which one or more of GDB, GCC,
newlib, sid, etc., do not support.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-29 22:28 ` DJ Delorie
@ 2011-03-29 23:29 ` Joseph S. Myers
2011-03-29 23:41 ` Frank Ch. Eigler
1 sibling, 0 replies; 17+ messages in thread
From: Joseph S. Myers @ 2011-03-29 23:29 UTC (permalink / raw)
To: DJ Delorie; +Cc: gcc, binutils, gdb, newlib
On Tue, 29 Mar 2011, DJ Delorie wrote:
> > 2. If you put directories from the GCC repository into your build, you
> > should expect GCC and its libraries to be built; toplevel should not
> > disable GCC on the grounds that GCC does not support a given target.
>
> I disagree. We have a single combined gcc+binutils+etc internal tree
> that's used for many targets; some support gcc, some do not. I added
> another "don't build gcc for this" just last week.
Well, disabling gcc for targets where it is unsupported is hardly
consistent existing practice in the FSF tree; before my patch
<http://gcc.gnu.org/ml/gcc-patches/2011-03/msg02027.html> there were just
two targets (c54x*-*-* | tic54x-*-*, v810-*-*) disabling the gcc
directory, so that patch makes things consistent with the normal practice
for non-gcc-supporting targets by removing those special cases.
I don't however object much to toplevel disabling gcc on targets without
support (if you have a GCC-only tree, it *does* seem unfortunate for
configuring it for an unsupported target to quietly build nothing and exit
with status 0, instead of exiting with error status), as long as it is
done consistently in accordance with principle 4: that is, through
config.gcc being adapted so toplevel configure.ac can use it to get
positive information from the gcc/ directory about supported targets,
rather than through negative declarations at toplevel for unsupported
targets. And much the same applies to other components in a unified tree:
negative declarations that something is unsupported are much worse than
positive information from a subdirectory about what is supported there,
and it would be good for one-component-only trees to be able to give
meaningful errors if nothing useful gets built - maybe some check is
needed to give errors if no installed host tool or target library would be
built.
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-29 21:52 On the toplevel configure and build system Joseph S. Myers
2011-03-29 22:28 ` DJ Delorie
2011-03-29 22:50 ` Geoffrey Keating
@ 2011-03-29 23:33 ` Ian Lance Taylor
2011-03-29 23:45 ` Joseph S. Myers
2011-03-30 13:37 ` Tom Tromey
2011-03-30 15:16 ` Joseph S. Myers
4 siblings, 1 reply; 17+ messages in thread
From: Ian Lance Taylor @ 2011-03-29 23:33 UTC (permalink / raw)
To: Joseph S. Myers; +Cc: gcc, binutils, gdb, newlib
"Joseph S. Myers" <joseph@codesourcery.com> writes:
> Specifically, I propose removal of all support for building: ash autoconf
> automake bash byacc bzip2 diff dosutils fileutils findutils find gawk
> gettext gnuserv gzip hello indent libiconv libtool make mmalloc patch perl
> prms rcs release recode sed send-pr shellutils tar textutils time uudecode
> wdiff zip expect guile target-gperf target-examples target-qthreads. See
> <http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01674.html> and followups
> regarding reasons to keep a few packages in my original list that aren't
> in the list above.
The expect program is used by dejagnu, and I believe it will be used
when running tests if both dejagnu and expect are in the source tree.
At least, it used to work that way. Everything else looks OK to me.
Ian
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-29 22:28 ` DJ Delorie
2011-03-29 23:29 ` Joseph S. Myers
@ 2011-03-29 23:41 ` Frank Ch. Eigler
2011-03-29 23:48 ` DJ Delorie
2011-03-29 23:52 ` Joseph S. Myers
1 sibling, 2 replies; 17+ messages in thread
From: Frank Ch. Eigler @ 2011-03-29 23:41 UTC (permalink / raw)
To: DJ Delorie; +Cc: Joseph S. Myers, gcc, binutils, gdb, newlib
dj wrote:
>> [...]
> I see no reason to stop people from building in a combined source tree
> for multiple targets, and expecting it to work.
Perhaps if we do move to git for all the /src stuff, we can have a
/toplevel git repository with different branches suitable for each of
your tastes of such policy.
- FChE
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-29 23:33 ` Ian Lance Taylor
@ 2011-03-29 23:45 ` Joseph S. Myers
0 siblings, 0 replies; 17+ messages in thread
From: Joseph S. Myers @ 2011-03-29 23:45 UTC (permalink / raw)
To: Ian Lance Taylor; +Cc: gcc, binutils, gdb, newlib
On Tue, 29 Mar 2011, Ian Lance Taylor wrote:
> "Joseph S. Myers" <joseph@codesourcery.com> writes:
>
> > Specifically, I propose removal of all support for building: ash autoconf
> > automake bash byacc bzip2 diff dosutils fileutils findutils find gawk
> > gettext gnuserv gzip hello indent libiconv libtool make mmalloc patch perl
> > prms rcs release recode sed send-pr shellutils tar textutils time uudecode
> > wdiff zip expect guile target-gperf target-examples target-qthreads. See
> > <http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01674.html> and followups
> > regarding reasons to keep a few packages in my original list that aren't
> > in the list above.
>
> The expect program is used by dejagnu, and I believe it will be used
> when running tests if both dejagnu and expect are in the source tree.
> At least, it used to work that way. Everything else looks OK to me.
I included expect in the list on the basis of what Paolo said in
<http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01709.html> and
<http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01726.html>.
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-29 23:41 ` Frank Ch. Eigler
@ 2011-03-29 23:48 ` DJ Delorie
2011-03-29 23:52 ` Joseph S. Myers
1 sibling, 0 replies; 17+ messages in thread
From: DJ Delorie @ 2011-03-29 23:48 UTC (permalink / raw)
To: Frank Ch. Eigler; +Cc: joseph, gcc, binutils, gdb, newlib
> Perhaps if we do move to git for all the /src stuff, we can have a
> /toplevel git repository with different branches suitable for each
> of your tastes of such policy.
Perhaps I misunderstand how this would work (/me hates git) but I'm
not looking forward to adding support to umpteen million branches each
time I do a base port...
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-29 23:41 ` Frank Ch. Eigler
2011-03-29 23:48 ` DJ Delorie
@ 2011-03-29 23:52 ` Joseph S. Myers
1 sibling, 0 replies; 17+ messages in thread
From: Joseph S. Myers @ 2011-03-29 23:52 UTC (permalink / raw)
To: Frank Ch. Eigler; +Cc: DJ Delorie, gcc, binutils, gdb, newlib
On Tue, 29 Mar 2011, Frank Ch. Eigler wrote:
> Perhaps if we do move to git for all the /src stuff, we can have a
It is very strongly in my principle 6 that there should be no "we" moving
"for all the /src stuff" - that it should be made possible for each
project (a) through (i) to make its own decisions about version control
systems and repository hosting, and to have its own set of people with
write access, because the interdependencies associated with the shared
repository are one of the greatest flaws in the present system. I believe
it is already possible for cgen and rda to move our of src on their own
because they appear to have no dependence on the toplevel infrastructure.
(Other components would complicate merge issues if they move without the
toplevel repository (a) being created first.)
> /toplevel git repository with different branches suitable for each of
> your tastes of such policy.
I am hoping that the toplevel repository, (a) in my list, should not have
branches at all. All branching and tagging should take place in
repositories for individual projects (which could also choose when to
merge changes from the toplevel repository if merges at a particular time
are considered risky in the light of planned branches or releases).
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-29 21:52 On the toplevel configure and build system Joseph S. Myers
` (2 preceding siblings ...)
2011-03-29 23:33 ` Ian Lance Taylor
@ 2011-03-30 13:37 ` Tom Tromey
2011-03-30 15:16 ` Joseph S. Myers
4 siblings, 0 replies; 17+ messages in thread
From: Tom Tromey @ 2011-03-30 13:37 UTC (permalink / raw)
To: Joseph S. Myers; +Cc: gcc, binutils, gdb, newlib
>>>>> "Joseph" == Joseph S Myers <joseph@codesourcery.com> writes:
Joseph> Additional tools for the build (not host) system may be built
Joseph> (not installed) when present in the source tree, if of direct
Joseph> use in building and testing the components in those
Joseph> repositories, and likewise additional libraries used by build or
Joseph> host tools or target libraries in those repositories may also be
Joseph> built. But support for tools and libraries that do not meet
Joseph> that criterion should be considered obsolete and removed.
Joseph> Specifically, I propose removal of all support for building:
Joseph> ... libiconv ...
libiconv is used by some people building gdb, to work around limitations
in the host platform's iconv.
Tom
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-29 21:52 On the toplevel configure and build system Joseph S. Myers
` (3 preceding siblings ...)
2011-03-30 13:37 ` Tom Tromey
@ 2011-03-30 15:16 ` Joseph S. Myers
2011-03-30 15:34 ` DJ Delorie
2011-03-31 7:50 ` Paolo Bonzini
4 siblings, 2 replies; 17+ messages in thread
From: Joseph S. Myers @ 2011-03-30 15:16 UTC (permalink / raw)
To: gcc, binutils, gdb, newlib
On Tue, 29 Mar 2011, Joseph S. Myers wrote:
> Specifically, I propose removal of all support for building: ash autoconf
> automake bash byacc bzip2 diff dosutils fileutils findutils find gawk
> gettext gnuserv gzip hello indent libiconv libtool make mmalloc patch perl
> prms rcs release recode sed send-pr shellutils tar textutils time uudecode
> wdiff zip expect guile target-gperf target-examples target-qthreads. See
> <http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01674.html> and followups
> regarding reasons to keep a few packages in my original list that aren't
> in the list above.
There's been push-back on libiconv and expect.
Having looked more at tools in src, I see that cgen has code for using
in-tree guile - but there are no associated dependencies at toplevel. I
continue to think that the right model for cgen is a separate repository
not containing any of the toplevel machinery or makefile rules referring
outside the source directory; the rules for converting files in the
toplevel cpu/ directory to C code used in opcodes etc. should go in the
toplevel cpu/ directory (or elsewhere in binutils+gdb) and should be
written to use an installed cgen binary.
I've seen no push-back on the other packages here, and some of those not
proposed for removal may nevertheness not be of current use.
> 2. If you put directories from the GCC repository into your build, you
> should expect GCC and its libraries to be built; toplevel should not
> disable GCC on the grounds that GCC does not support a given target.
There have been objections to this principle, so I propose a weaker:
2'. If the combination of directories present in the source tree would not
build and install anything for the host or target (other than host
libraries such as libiberty) then there should be an error at configure or
build time. For example, a GCC source tree should not quietly build
nothing because GCC isn't supported for the target; a binutils+gdb tree
should not quietly build nothing for lack of BFD support, although it
might build only a subset of binutils if ld and gdb aren't supported.
> 6. Splitting up the src repository into multiple separate repositories
> would be desirable as part of moving components away from CVS; different
> projects should not be tied so closely to each other. I propose the
> following as a natural division (moving anything out is complicated, with
> various scripts, documentation etc. to update, but as noted here it should
> be possible to move cgen and rda without any dependencies on other
> projects):
I'd still like comments on how
> (h) utils - I don't know what to do with this directory or where it best
> goes.
relates to the other bits of src and where it would best go if src is
split up.
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-30 15:16 ` Joseph S. Myers
@ 2011-03-30 15:34 ` DJ Delorie
2011-03-30 15:54 ` Joseph S. Myers
2011-03-31 7:50 ` Paolo Bonzini
1 sibling, 1 reply; 17+ messages in thread
From: DJ Delorie @ 2011-03-30 15:34 UTC (permalink / raw)
To: Joseph S. Myers; +Cc: gcc, binutils, gdb, newlib
> > (h) utils - I don't know what to do with this directory or where it best
> > goes.
>
> relates to the other bits of src and where it would best go if src is
> split up.
For example, the MeP utils is used to reconfigure gcc, binutils, cgen,
sid, and a few other places (libgloss) according to the templates
provided by the chip fab (MeP is a synthetic chip) so as to match the
specific cpu configurations in your chip (how many cores, which
options each core has, memory layout, etc).
(for the lawyers: we were careful to make the resulting files just as
editable as one would expect, you do not *need* these utils to
build/hack/use the gnu tools, only if you want an easier way to
customize them for specific hardware)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-30 15:34 ` DJ Delorie
@ 2011-03-30 15:54 ` Joseph S. Myers
2011-03-31 7:44 ` Paolo Bonzini
0 siblings, 1 reply; 17+ messages in thread
From: Joseph S. Myers @ 2011-03-30 15:54 UTC (permalink / raw)
To: DJ Delorie; +Cc: gcc, binutils, gdb, newlib
On Wed, 30 Mar 2011, DJ Delorie wrote:
> > > (h) utils - I don't know what to do with this directory or where it best
> > > goes.
> >
> > relates to the other bits of src and where it would best go if src is
> > split up.
>
> For example, the MeP utils is used to reconfigure gcc, binutils, cgen,
> sid, and a few other places (libgloss) according to the templates
> provided by the chip fab (MeP is a synthetic chip) so as to match the
> specific cpu configurations in your chip (how many cores, which
> options each core has, memory layout, etc).
Thanks. My inclination is to say that this should be considered an
independent tool in its own repository, as something not required in the
build of any of the other tools. More specifically, utils/mep and
utils/wince look like independent tools each of which would better go in
its own toplevel directory (mep-integrator, cesetup) (and would each go in
an independent repository based on the shared toplevel, since they use
libiberty), while utils/spu appears to have no toplevel dependencies and
so should be completely independent, possibly without toplevel support for
building it. Since utils/spu and utils/wince have no non-build-system
changes since 2000, I'd be inclined to say we should declare those two
subdirectories dead and run "cvs rm" on them - people wanting to resurrect
them can always extract the data from CVS later. (And I still think
utils/mep should move to its own toplevel directory.)
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-30 15:54 ` Joseph S. Myers
@ 2011-03-31 7:44 ` Paolo Bonzini
2011-03-31 7:46 ` Paolo Bonzini
2011-03-31 12:20 ` Joseph S. Myers
0 siblings, 2 replies; 17+ messages in thread
From: Paolo Bonzini @ 2011-03-31 7:44 UTC (permalink / raw)
To: Joseph S. Myers; +Cc: DJ Delorie, gcc, binutils, gdb, newlib
On 03/30/2011 05:54 PM, Joseph S. Myers wrote:
> Thanks. My inclination is to say that this should be considered an
> independent tool in its own repository, as something not required in the
> build of any of the other tools. More specifically, utils/mep and
> utils/wince look like independent tools each of which would better go in
> its own toplevel directory (mep-integrator, cesetup) (and would each go in
> an independent repository based on the shared toplevel, since they use
> libiberty), while utils/spu appears to have no toplevel dependencies and
> so should be completely independent, possibly without toplevel support for
> building it. Since utils/spu and utils/wince have no non-build-system
> changes since 2000, I'd be inclined to say we should declare those two
> subdirectories dead and run "cvs rm" on them - people wanting to resurrect
> them can always extract the data from CVS later. (And I still think
> utils/mep should move to its own toplevel directory.)
No, these tools _are_ built after all.
However, moving them to a new toplevel directory and getting rid of
utils would be a good thing.
Paolo
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-31 7:44 ` Paolo Bonzini
@ 2011-03-31 7:46 ` Paolo Bonzini
2011-03-31 12:20 ` Joseph S. Myers
1 sibling, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2011-03-31 7:46 UTC (permalink / raw)
To: binutils; +Cc: gcc
On 03/30/2011 05:54 PM, Joseph S. Myers wrote:
> Thanks. My inclination is to say that this should be considered an
> independent tool in its own repository, as something not required in the
> build of any of the other tools. More specifically, utils/mep and
> utils/wince look like independent tools each of which would better go in
> its own toplevel directory (mep-integrator, cesetup) (and would each go in
> an independent repository based on the shared toplevel, since they use
> libiberty), while utils/spu appears to have no toplevel dependencies and
> so should be completely independent, possibly without toplevel support for
> building it. Since utils/spu and utils/wince have no non-build-system
> changes since 2000, I'd be inclined to say we should declare those two
> subdirectories dead and run "cvs rm" on them - people wanting to resurrect
> them can always extract the data from CVS later. (And I still think
> utils/mep should move to its own toplevel directory.)
No, these tools _are_ built after all.
However, moving them to a new toplevel directory and getting rid of
utils would be a good thing.
Paolo
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-30 15:16 ` Joseph S. Myers
2011-03-30 15:34 ` DJ Delorie
@ 2011-03-31 7:50 ` Paolo Bonzini
1 sibling, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2011-03-31 7:50 UTC (permalink / raw)
To: Joseph S. Myers; +Cc: gcc, binutils, gdb, newlib
On 03/30/2011 05:15 PM, Joseph S. Myers wrote:
> On Tue, 29 Mar 2011, Joseph S. Myers wrote:
>
>> Specifically, I propose removal of all support for building: ash autoconf
>> automake bash byacc bzip2 diff dosutils fileutils findutils find gawk
>> gettext gnuserv gzip hello indent libiconv libtool make mmalloc patch perl
>> prms rcs release recode sed send-pr shellutils tar textutils time uudecode
>> wdiff zip expect guile target-gperf target-examples target-qthreads. See
>> <http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01674.html> and followups
>> regarding reasons to keep a few packages in my original list that aren't
>> in the list above.
>
> There's been push-back on libiconv and expect.
I still think expect has no reason to stay in the toplevel (not any more
than tcl or tk).
dejagnu is another story, and there's good reasons for leaving libiconv
as well.
> 2'. If the combination of directories present in the source tree would not
> build and install anything for the host or target (other than host
> libraries such as libiberty) then there should be an error at configure or
> build time. For example, a GCC source tree should not quietly build
> nothing because GCC isn't supported for the target; a binutils+gdb tree
> should not quietly build nothing for lack of BFD support, although it
> might build only a subset of binutils if ld and gdb aren't supported.
Agreed.
Paolo
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: On the toplevel configure and build system
2011-03-31 7:44 ` Paolo Bonzini
2011-03-31 7:46 ` Paolo Bonzini
@ 2011-03-31 12:20 ` Joseph S. Myers
1 sibling, 0 replies; 17+ messages in thread
From: Joseph S. Myers @ 2011-03-31 12:20 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: DJ Delorie, gcc, binutils, gdb, newlib, stan
On Thu, 31 Mar 2011, Paolo Bonzini wrote:
> On 03/30/2011 05:54 PM, Joseph S. Myers wrote:
> > Thanks. My inclination is to say that this should be considered an
> > independent tool in its own repository, as something not required in the
> > build of any of the other tools. More specifically, utils/mep and
> > utils/wince look like independent tools each of which would better go in
> > its own toplevel directory (mep-integrator, cesetup) (and would each go in
> > an independent repository based on the shared toplevel, since they use
> > libiberty), while utils/spu appears to have no toplevel dependencies and
> > so should be completely independent, possibly without toplevel support for
> > building it. Since utils/spu and utils/wince have no non-build-system
> > changes since 2000, I'd be inclined to say we should declare those two
> > subdirectories dead and run "cvs rm" on them - people wanting to resurrect
> > them can always extract the data from CVS later. (And I still think
> > utils/mep should move to its own toplevel directory.)
>
> No, these tools _are_ built after all.
My claim is that while they *are* built, the lack of substantive changes
in the past decade is evidence that utils/spu and utils/wince are probably
no longer being used.
Stan, you appear to be the only person with non-build-system changes in
the utils/spu ChangeLog (from the years 1994 and 2000). Do you have any
reason to believe it is still being used, or is it OK to run "cvs rm" on
that directory's contents in the src repository?
DJ, the same questions apply for utils/wince; you appear to have the only
non-build-system changes, in 1999 and 2000.
In the modules file the only place utils appears is in old-gdb (that is,
it used to be considered part of the GDB sources but no longer is).
> However, moving them to a new toplevel directory and getting rid of utils
> would be a good thing.
Moving utils/mep to its own toplevel directory, that is, if the other two
aren't being used.
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2011-03-31 12:09 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-29 21:52 On the toplevel configure and build system Joseph S. Myers
2011-03-29 22:28 ` DJ Delorie
2011-03-29 23:29 ` Joseph S. Myers
2011-03-29 23:41 ` Frank Ch. Eigler
2011-03-29 23:48 ` DJ Delorie
2011-03-29 23:52 ` Joseph S. Myers
2011-03-29 22:50 ` Geoffrey Keating
2011-03-29 23:33 ` Ian Lance Taylor
2011-03-29 23:45 ` Joseph S. Myers
2011-03-30 13:37 ` Tom Tromey
2011-03-30 15:16 ` Joseph S. Myers
2011-03-30 15:34 ` DJ Delorie
2011-03-30 15:54 ` Joseph S. Myers
2011-03-31 7:44 ` Paolo Bonzini
2011-03-31 7:46 ` Paolo Bonzini
2011-03-31 12:20 ` Joseph S. Myers
2011-03-31 7:50 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).