Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-03-06 01:57:06

Hi Ali,

> I have an existing project that uses ".C" extension for C++ files.
> With "bjam --v2" I get
> boost/tools/build/new/generators.jam:715: in ensure-type from module
> generators
> error: target { hello.C. } has no type

Oops! The '.c' extension should be recognized for C files!

> I diagnosed, finding this line in "new/builtin.jam"
> type.register CPP : cpp cxx ;
> I would like to add in my Jamfile the extension "C", but
> type.register-suffixes
> doesn't work (because it is declared "local"?).
> What is the appropriate method for adding a suffix to a type (without
> modifying the base files)?

Answering your specific question, 'type.register-suffixes' is the right way.
It just should not be local. OTOH, imagine builtin.jam will contain:

type.register C : c ;
type.register CPP : cpp cxx ;

You'd need to *change* the type associated with specific suffix. Probably,
'register-suffixes' rule can take a third parameter, telling if it should
silently change types, instead of issuing an error.

- Volodya


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at