This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Projects for beginners


On Wed, Jan 31, 2001 at 11:17:58AM -0800, Zack Weinberg wrote:

> I read through every last one of the x-host and xm-host.h files.
> The settings in there are, without exception, in one of these
> categories:
>
> - Historical dead wood.  [Some files contain only comments!]
> - Belongs in a tm.h or t-target file.  E.g. x-linux has no business
>   saying not to run fixproto, xm-interix.h has no business specifying
>   how to run global constructors.
> - Belongs in system.h.  E.g. #define TRUE 1.
> - Is a system category assertion, which should be replaced by feature
>   checks, but we have to do work in machine-independent code first.
> - Could perfectly well be determined by autoconf even when
>   cross-compiling - with sufficient cleverness.  It may be infeasible
>   to get everything, but there's no reason in principle why not.
>   The hardest ones will be (SUCCESS|FATAL)_EXIT_CODE.  You might think
>   the HOST_BITS_PER_* stuff would be impossible when cross compiling,
>   but autoconf 2.50 knows how to do it.

I left one out.  Apologies.

  - Information on how to deal with file systems which are not
    Unix-y.  For instance, definitions of PATH_SEPARATOR(_2),
    HAVE_DOS_BASED_FILE_SYSTEM, a complete override of
    INCLUDE_DEFAULTS for VMS, etc.

This stuff is harder to deal with than the others.  For DOS, we could
restructure the machine-independent code so there was just one
switch, namely HAVE_DOS_BASED_FILE_SYSTEM, and autoconf could set that
based on the host machine name.  We probably want to go in that
direction anyway.  Ad hoc #define PATH_SEPARATOR_2 is not terribly
reliable.  I'd like to see all the path manipulators scattered all
over the code sorted out and moved to libiberty, which would help.

I don't know what to do about VMS.  It is utterly different, although
I'm told the system libraries mask a lot of the differences these
days.  I would be very surprised if GCC actually builds on
{alpha,vax}-dec-*vms* right now.

zw

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]