[Scons-users] .C suffix for c files on POSIX

Dirk Bächle tshortik at gmx.de
Mon Jan 6 18:40:36 EST 2014


On 05.01.2014 23:43, Carl Cerecke wrote:

> On 20 December 2013 11:37, Dirk Bächle <tshortik at gmx.de> wrote:

>> On 19.12.2013 23:17, Carl Cerecke wrote:

>>> On 19 December 2013 14:46, Dirk Bächle <tshortik at gmx.de> wrote:

>>>> Hi Carl,

>>>>

>>>>

>>>> On 19.12.2013 00:49, Carl Cerecke wrote:

>>>>> How can I tell scons that a .C suffix is for C files, not C++ files on

>>>>> Linux?

>>>>>

>>>>> I've tried env.Append(CFILESUFFIX=['.C']) but it does not work - the

>>>>> files are still recognised as C++.

>>>>

>>>> I think that instead of restricting the suffix list, it'd be easier to

>>>> create an Environment that only loads the C compiler:

>>>>

>>>> ccenv = Environment(tools=['cc','link','ar'])

>>>>

>>>> and use that one to compile your sources.

>>> Thanks, Dirk. Good idea. Except the program is a mix of C and C++.

>>>

>> Then compile the C files with "ccenv" and the C++ files with your "standard"

>> environment...note that you can freely mix and use an arbitrary number of

>> environments, with differently intialized tools and variable/path settings,

>> within your SConstructs/SConscripts.

> Thanks. This works with a bit of fiddling around, including:

>

> ccenv.Append(CCFLAGS='-x c')

>

> gcc sees the .C and assumes C++. The -x c forces c.

>

> (No, I haven't been struggling to do this for two weeks and only just

> figured it out. I've been on holiday... it's summer here)


Nice to see that you made some progress, and thanks for the feedback.

Dirk



More information about the Scons-users mailing list