[LLVMdev] [cfe-dev] RFC: Another go at a cross compiler config file.

Joerg Sonnenberger
2014-09-08T18:26:05Z

On Mon, Sep 08, 2014 at 10:59:17AM -0700, Bob Wilson
wrote:
>
> > On Sep 8, 2014, at 10:14 AM, Joerg Sonnenberger <joerg at
britannica.bec.de> wrote:
> >
> > On Fri, Sep 05, 2014 at 09:23:34PM -0500, Richard Pennington wrote:
> >> Right now it only handles replacing a "-target foo"
option
> >> with the options defined in the file foo in the resource/config
> >> directory, but I think it has potential for doing quite a bit
more.
> >
> > Please don't overload the -target option like that, but make it a
> > separate option.
>
> I disagree. One of the problems with clang’s driver now is that we have
> such a long list of built-in targets. From the user’s point of view,
> whether the target settings come from a yaml file or from hardcoded
> logic in the driver should be an implementation detail. It would be
> great if we could default to specify _all_ targets like this, and then
> choose which targets to build into the driver based solely on
> performance.

Whether it is reasonably possible for such a transistion has to be seen.
If you look at the target logic in the driver, you will seen that
estimated 70% of the complexity is related to Linux, maybe 10% each to
Darwinish systems and Windows and the rest for all other targets
together. So while this can greatly simplify the maintainance cost and
overall code size for Linux, it createse a complexity regression for
other systems. That's a good enough reason for my request to keep it
optional. I'm not against this feature -- if it is well done, it can
improve the status quo. But I am against forced overhead for systems
where we don't need it.

Joerg