[cfe-dev] Clang universal driver project state

Simon Atanasyan simon at atanasyan.com
Thu Aug 1 13:11:27 PDT 2013


On Wed, Jul 31, 2013 at 7:03 PM, Reid Kleckner <rnk at google.com> wrote:
> On Wed, Jul 31, 2013 at 4:58 AM, Simon Atanasyan <simon at atanasyan.com>
> wrote:
>> That's why I'd like to implement the clang driver's configuration file
>> support. My current plan is to put to this file the following settings
>> and use these settings in the driver:
>> - target triple
>> - include files search paths (-I)
>> - library search paths (-L)
>> - program and files search paths (-B)
>> - explicit paths for files and / or programs
>>
>> User will be able to select configuration file
>> by --target=<config name> option.
>
> Can you implement this using the existing response file support,
> rather than coming up with a new config file format?

Unfortunately response file format does not satisfy all requirements.

First I need a fine grained control over include headers directories.
I need to distinguish regular system include directories, include
directories with extern "C" semantic, c++ system include directories.

The next requirement might be specific for MIPS toolchains. For these
toolchains include headers directories, libraries search paths etc
depend not only on target name like mips-linux-gnu or mipsel-linux-gnu
but on command line arguments too. Sure we can write a separate
configuration file for each target and command line options
combination. But I see two problems here: a) huge number of
configuration files. b) end-user prefers to use standard command line
options like -mips16 -msoft-float, ... instead of something like
-target mispel-16-softfloat. I hope to implement a configuration file
contains options for a front-end, assembler and linker and driver's
command line arguments triggers their selection.

-- 
Simon Atanasyan



More information about the cfe-dev mailing list